有没有办法在inputList中找到列表中所有元素的和?
这是我尝试过的,但这只适用于我假设的常规ArrayList整数。
static int add(ArrayList<ArrayList<Integer>> inputList) {
int a = (int) inputList;
int sum = 0;
for(int d : a)
sum = sum + d;
return sum;
}发布于 2017-05-04 17:09:45
不能将ArrayList转换为整数基元类型,因此应该删除该行。出于同样的原因,您不能使用增强的For -循环,因为参数是整数的ArrayList of ArrayLists。
static int add(ArrayList<ArrayList<Integer>> inputList) {
int sum = 0;
for(ArrayList<Integer> nestedList : inputList) {
for (int n : nestedList) sum += n;
}
return sum;
}发布于 2017-05-04 17:11:12
一种方法是使用嵌套的foreach循环对外部列表和内部列表进行迭代,然后简单地将所有元素添加到一起。
static int add(ArrayList<ArrayList<Integer>> inputList) {
int sum = 0;
for (ArrayList<Integer> list : inputList) {
for (int number : list) {
sum += number;
}
}
return sum;
}发布于 2017-05-04 17:12:12
您可以使用Java8流查找和,如下面的代码所示,只需一行(请遵循注释):
int sum = inputList.stream().//get the stream for the outer list
flatMapToInt(list -> list.stream().
mapToInt(value -> value)).//flatten the inner list
sum();//get the sumhttps://stackoverflow.com/questions/43788868
复制相似问题