Java FAQ: How do I get the sum of a List in Java (i.e., an ArrayList or LinkedList of numeric values)?
Note: In this article I describe how to sum the elements of a List
in Java. This is an interesting exercise, but in general you should use the Apache Commons libraries to calculate the sum (including ListUtils, StatUtils, MathUtils, and more). There are also new techniques in Java 8 (including Stream reduction) that I don’t know very well yet.
Source code to sum the elements of a List
There may be better ways to calculate the sum of the elements in a List
in Java than this, but the following example shows the source code for a Java “sum the integers in a list” method:
public static int sum(List<Integer> list) { int sum = 0; for (int i: list) { sum += i; } return sum; }
I define a sum
method like that in a MathUtils
class, and call it like this to sum the contents of a List
:
// create a list List<Integer> ints = Arrays.asList(1, 2, 3); // get the sum of the elements in the list int sum = MathUtils.sum(ints);
I shared this sum
method in a short post yesterday about how to create and populate a static List in Java, and thought I’d write a bit more about it today. As you can see, this method is written to get the sum of a list of integers, but you can use the same technique to sum double
and float
values as well.
Note that one thing you have to be careful with in an algorithm like this is that if you’re working with very large numbers, the sum of a list of integers may end up being a long
value. (Most “sum” algorithms don’t account for this, but I thought I should mention it.)
In summary, if you needed to see how to sum the elements in a Java List
, I hope that is helpful.