Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从ArrayList到Int?_Java_Arraylist - Fatal编程技术网

Java 从ArrayList到Int?

Java 从ArrayList到Int?,java,arraylist,Java,Arraylist,我需要一些帮助,因为我对java不是很在行。我只需要返回长度为奇数的单词?但是我犯了一个错误 import java.io.*; import java.util.ArrayList; public class ArrayListOdd { public static ArrayList<Integer> lengths(ArrayList<String> list) { ArrayList<Integer> lengthList =

我需要一些帮助,因为我对java不是很在行。我只需要返回长度为奇数的单词?但是我犯了一个错误

import java.io.*;
import java.util.ArrayList;

public class ArrayListOdd {

     public static ArrayList<Integer> lengths(ArrayList<String> list) {
      ArrayList<Integer> lengthList = new ArrayList<Integer>();
      for (String s : list)
            lengthList.add(s.length());
        return lengthList;
     }
    public static void main(String args[])
    {
        ArrayList<String>  
        list = new ArrayList<String>();

        list.add("yoy");
        list.add("lmao");
        list.add("lol");
        list.add("kk");
        list.add("bbb");

        ArrayList<Integer> lengths = lengths(list);
  
        ArrayList oddList = new ArrayList();
        oddList = (ArrayList)list.clone();
        if (lengths % 2 != 0) {
        System.out.println("Strings with odd length are: " + oddList);
    }
  }
}
import java.io.*;
导入java.util.ArrayList;
公共类ArrayListOdd{
公共静态ArrayList长度(ArrayList列表){
ArrayList lengthList=新的ArrayList();
用于(字符串s:列表)
添加(s.length());
返回纵向运动员;
}
公共静态void main(字符串参数[])
{
ArrayList
列表=新的ArrayList();
列表。添加(“年度”);
列表。添加(“lmao”);
列表。添加(“lol”);
列表。添加(“kk”);
列表。添加(“bbb”);
ArrayList长度=长度(列表);
ArrayList oddList=新的ArrayList();
oddList=(ArrayList)list.clone();
如果(长度%2!=0){
System.out.println(“奇数长度的字符串为:“+oddList”);
}
}
}
修改长度方法

 public static void main(String []args){
         ArrayList<String>  
        list = new ArrayList<String>();

        list.add("yoy");
        list.add("lmao");
        list.add("lol");
        list.add("kk");
        list.add("bbb");

        ArrayList<String> lengths = lengths(list);
        
        
        System.out.println(lengths.toString());
     }
     
     
     public static ArrayList<String> lengths(ArrayList<String> list) {
      ArrayList<String> lengthList = new ArrayList<String>();
      for (String s : list)
            if(s.length() % 2 != 0)
               lengthList.add(s);
        return lengthList;
     }
publicstaticvoidmain(字符串[]args){
ArrayList
列表=新的ArrayList();
列表。添加(“年度”);
列表。添加(“lmao”);
列表。添加(“lol”);
列表。添加(“kk”);
列表。添加(“bbb”);
ArrayList长度=长度(列表);
System.out.println(length.toString());
}
公共静态ArrayList长度(ArrayList列表){
ArrayList lengthList=新的ArrayList();
用于(字符串s:列表)
如果(s.length()%2!=0)
长度列表。添加(s);
返回纵向运动员;
}
修改长度方法

 public static void main(String []args){
         ArrayList<String>  
        list = new ArrayList<String>();

        list.add("yoy");
        list.add("lmao");
        list.add("lol");
        list.add("kk");
        list.add("bbb");

        ArrayList<String> lengths = lengths(list);
        
        
        System.out.println(lengths.toString());
     }
     
     
     public static ArrayList<String> lengths(ArrayList<String> list) {
      ArrayList<String> lengthList = new ArrayList<String>();
      for (String s : list)
            if(s.length() % 2 != 0)
               lengthList.add(s);
        return lengthList;
     }
publicstaticvoidmain(字符串[]args){
ArrayList
列表=新的ArrayList();
列表。添加(“年度”);
列表。添加(“lmao”);
列表。添加(“lol”);
列表。添加(“kk”);
列表。添加(“bbb”);
ArrayList长度=长度(列表);
System.out.println(length.toString());
}
公共静态ArrayList长度(ArrayList列表){
ArrayList lengthList=新的ArrayList();
用于(字符串s:列表)
如果(s.length()%2!=0)
长度列表。添加(s);
返回纵向运动员;
}

您正在尝试对列表执行整数操作。”“长度”是ArrayList,操作%不适用于它。另外,我认为您不应该在这里使用克隆,只需迭代
列表
,检查每个元素是否为奇数-打印它,如果是,则添加到另一个列表。

您正在尝试对列表执行整数运算。”“长度”是ArrayList,操作%不适用于它。另外,我认为您不应该在这里使用克隆,只需迭代
列表
,检查每个元素是否为奇数-打印它或添加到另一个列表(如果是)。最好实现一个单独的方法,以复制奇数长度的字符串:

公共静态列表(列表){
列表结果=新建ArrayList();
用于(字符串s:列表){
如果(s.length()%2!=0){
结果。添加(s);
}
}
返回结果;
}
然后只需在
main
method中调用此方法:

List List=new ArrayList();
列表。添加(“年度”);
列表。添加(“lmao”);
列表。添加(“lol”);
列表。添加(“kk”);
列表。添加(“bbb”);
List oddList=ODDlength(列表);
System.out.println(“奇数长度的字符串为:“+oddList”);
效率较低的方法是复制初始列表,然后使用
removeIf
操作删除所有长度为偶数的字符串:

List oddList2=新的数组列表(List);//不需要使用克隆
oddList2.removeIf(s->s.length()%2==0);//删除所有长度为偶数的字符串
System.out.println(“奇数长度的字符串为:“+oddList2”);

使用带有过滤操作的流API可以很方便地获得相同的结果:

公共静态列表(列表){
return list.stream()
.filter(s->s.length()%2!=0)
.collect(Collectors.toList());
}

最好实现一个单独的方法来复制奇数长度的字符串:

公共静态列表(列表){
列表结果=新建ArrayList();
用于(字符串s:列表){
如果(s.length()%2!=0){
结果。添加(s);
}
}
返回结果;
}
然后只需在
main
method中调用此方法:

List List=new ArrayList();
列表。添加(“年度”);
列表。添加(“lmao”);
列表。添加(“lol”);
列表。添加(“kk”);
列表。添加(“bbb”);
List oddList=ODDlength(列表);
System.out.println(“奇数长度的字符串为:“+oddList”);
效率较低的方法是复制初始列表,然后使用
removeIf
操作删除所有长度为偶数的字符串:

List oddList2=新的数组列表(List);//不需要使用克隆
oddList2.removeIf(s->s.length()%2==0);//删除所有长度为偶数的字符串
System.out.println(“奇数长度的字符串为:“+oddList2”);

使用带有过滤操作的流API可以很方便地获得相同的结果:

公共静态列表(列表){
return list.stream()
.filter(s->s.length()%2!=0)
.collect(Collectors.toList());
}

不要写入
ArrayList oddList=new ArrayList()。在使用collections API时始终使用泛型类型。如果(长度%2!=0)
,您所说的
是什么意思?当您编写
长度%2!=0
表示您正在尝试查找
长度的剩余部分,即
数组列表
,除以2。这不起作用,因为
ArrayList
不是整数。您必须循环遍历
长度
,并删除每个不奇怪的条目。在这种情况下,您的数组只包含每个单词的长度,而不包含单词本身。通常也不鼓励使用
clone
(这被认为是一个错误)。请正确发布您的问题。