你如何在Java中找到集合中所有数字的总和?

izh*_*g05 -2 java sum set

你如何在Java中找到一个集合的元素之和?数组也一样吗?

在python中,我可以这样做:

my_set = {1, 2, 3, 4} 
print(sum(my_set)) 
Run Code Online (Sandbox Code Playgroud)

Jav*_*tíz 5

除了显式使用循环之外,List<Integer> list您还可以执行以下操作:

int sum = list.stream().mapToInt(Integer::intValue).sum();
Run Code Online (Sandbox Code Playgroud)

如果是int[] ar然后做:

int sum = IntStream.of(ar).sum();
Run Code Online (Sandbox Code Playgroud)

这是基于的使用。

或者你可以做这个简单的单线循环:

int sum = 0;
for (Integer e : myList) sum += e;
Run Code Online (Sandbox Code Playgroud)

更好的是,编写一个函数并重用它:

public int sum(List<Integer> list) {
    int sum = 0;
    for (Integer e : list) sum += e;

    return sum;
}
Run Code Online (Sandbox Code Playgroud)