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

时间:2013-03-15 17:52:58

标签: java

public double getAllElementsInCollection(ArrayList<Double> nameofCollection){

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

我试图编写一个返回ArrayList传递给它的所有元素的方法但是我刚刚获得最后一个就是插入数组中。我该如何完成这项任务?我从昨天起就一直试图这样做。我注意到如果我做System.out.println(nameofDouble);实际打印所有元素..但我不想打印它们。我想返回传递ArrayList内的所有内容。

5 个答案:

答案 0 :(得分:0)

这个问题没有意义......你想把ArrayList变成double []吗?

只需致电:

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

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

}

答案 1 :(得分:0)

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

首先:

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

...

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

或者,如果您想使用该方法:

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;

}

答案 2 :(得分:0)

你错了。首先,您的方法的返回类型是double,这表示您只能返回单个double值而不是整个数组。变量'result'也只包含一个值。所以这是代码的修改版本:

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;       

}

另外,我建议你使用超类/接口(比如List而不是ArrayList)作为参数或返回类型,因为你可能不知道传递给方法的实际参数(如LinkedList或ArrayList)。为此彻底阅读OOP概念。多态性样本:sample1sample2

答案 3 :(得分:0)

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

public String getAllElementsInCollection(ArrayList<Double> nameofCollection){

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

答案 4 :(得分:0)

您的问题不明确,“返回所有元素”是什么意思? ArrayList包含所有元素,你以什么形式返回它们?

查看代码,是指所有元素的总和?然后你只有一点点错误。您的代码result = nameofDouble只是替换结果,因此返回最后一个。 result = result + nameofDoubleresult += nameofDouble将汇总所有元素。