Java 返回ArrayList的所有元素,而不是打印它们

Java 返回ArrayList的所有元素,而不是打印它们,java,Java,我试图编写一个方法,返回所有通过它的ArrayList元素,但我只是得到最后一个是插入到数组中的。我怎样才能完成这项任务?从昨天起我就一直在尝试这样做。我注意到如果我做一个System.out.printlnnameofDouble;这实际上会打印所有元素。。但我不想把它们打印出来。我想返回传递的ArrayList中的所有内容。这个问题没有意义。。。是否要将ArrayList转换为双精度[] 简单地说: public double getAllElementsInCollection(Array

我试图编写一个方法,返回所有通过它的ArrayList元素,但我只是得到最后一个是插入到数组中的。我怎样才能完成这项任务?从昨天起我就一直在尝试这样做。我注意到如果我做一个System.out.printlnnameofDouble;这实际上会打印所有元素。。但我不想把它们打印出来。我想返回传递的ArrayList中的所有内容。

这个问题没有意义。。。是否要将ArrayList转换为双精度[]

简单地说:

public double getAllElementsInCollection(ArrayList<Double> nameofCollection){

      double result = 0.0;
      for(Double nameofDouble : nameofCollection){
        result = nameofDouble;
      }
      return  result;       
}

您可以做以下两件事之一:

首先:

public Double[] getAllElementsInCollection(ArrayList<Double> nameofCollection){

    return  nameofCollection.toArray(new Double[nameofCollection.size()]);

}
或者,如果要使用该方法:

ArrayList<Double> list = new ArrayList<Double>();

...

Double[] elements = list.toArray(new Double[list.size()]);

你全搞错了。首先,方法的返回类型是double,这表示只能返回一个double值,而不能返回整个数组。此外,变量“result”只包含一个值。下面是代码的修改版本:

public double[] getAllElementsInCollection(ArrayList<Double> list){
    double[] elements = new double[list.size()];
    for(int i = 0; i < elements.length; i++){
        elements[i] = list.get(i);
    }
    return elements;

}
}


另外,我建议您使用超级类/interfaceslike List而不是ArrayList作为参数或返回类型,因为您可能不知道传递给methodlike LinkedList或ArrayList的实际参数。为此,请通读OOP概念。多态性示例:和

您可以通过以下方式更改方法,以字符串形式返回ArrayList的所有元素,这些元素可以进一步打印

public List<Double> getAllElementsInCollection(List<Double> nameofCollection){

  List<Double> resultList = new ArrayList<Double>();
  for(Double nameofDouble : nameofCollection){
    // some processing on the elements (if required)
    resultList.add(nameofDouble);
  }
  return  resultList;       

您的问题不清楚,返回所有元素是什么意思?ArrayList包含所有元素,您希望以何种形式返回它们


看看你的代码,你是指所有元素的总和吗?那你就犯了一个小错误。您的代码result=nameofDouble只是替换结果,因此返回最后一个结果。result=result+nameofDouble或result+=nameofDouble将对所有元素求和。

从本质上讲,ArrayList可能包含多个元素。当你说归还所有东西时,你是什么意思?因为您的方法只返回一个double;它将为您提供一个在列表中找到的双值数组。您希望此代码如何返回该ArrayList包含的所有元素?本例中要返回的元素是循环完成后ArrayList中的最后一个元素。您的问题不清楚。您希望方法GetAllegementSinCollection以何种形式返回所有元素?方法的返回类型是double。不能以这种方式返回ArrayList的所有元素。您需要将返回类型更改为其他类型,如Double[]或ArrayList或其他任何类型。。!!我只是个新手,只是做些测试。。我只是想写一个方法,在这里我传入了一个arraylist,它应该返回这样的arraylist中的所有值。我编写的代码使用了一个double,例如。。但我不确定。。这就是我发布它的原因。创建相同的新列表并返回此新列表的原因是什么?是的。这个答案毫无意义。。。您可以只返回集合的名称并完成它。如果您不执行任何操作,那么为什么要首先调用该方法并返回相同的列表。我在示例中创建一个新列表的原因是,如果您想进行任何操作,而不想更改原始列表中的值。我在代码本身中也添加了注释。@Kevin-返回作为参数提供给方法的相同列表,即nameOfCollection,没有任何意义。因此,这个问题本身毫无意义@狮子:我同意你的看法。这正是我使用另一个列表的原因。
public String getAllElementsInCollection(ArrayList<Double> nameofCollection){

      return java.util.Arrays.toString(nameofCollection);
}