You can calculate the sum of integers in a list using the Stream API in several clean ways.
1- Best & Most Common Way
import java.util.Arrays;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
int sum = numbers.stream().mapToInt(Integer::intValue).sum();
System.out.println("Sum: "+ sum);
}
}
Output: Sum: 10
2- Using summaryStatistics() (for extra stats)
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
IntSummaryStatistics stats = numbers.stream()
.mapToInt(Integer::intValue).summaryStatistics();
System.out.println("Sum: " + stats.getSum());
}
}
Also gives getAverage(), getMin(), getMax()
Quick Comparison
| Method | When to Use | Example |
| mapToInt().sum() | ✅ Best for sum only | numbers.stream().mapToInt(Integer::intValue).sum(); |
| summaryStatistics() | When you need more than sum like min, max | mapToInt(…).summaryStatistics().getSum(); |