# Java 8- Find the Average of List of Integers

In Java 8, the `average()`

method of the `DoubleStream`

interface calculate the *average* of the list of integers.

**1. Stream API**

`double avg = numbers.stream().mapToDouble(num -> num).average().getAsDouble();`

**2. Old Style**

```
double sum = 0.0;
for (Integer num : numbers) {
sum += num;
}
double avg2 = sum / numbers.size();
```

Check the complete example.

CalculateAvg.java

```
package org.websparrow;
import java.util.Arrays;
import java.util.List;
/**
* @author Atul Rai
*/
public class CalculateAvg {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(10, 5, 15, 7, 12, 3, 31);
// 1. Java 8 stream
byStreamAPI(numbers);
// 2. Old style
byOldStyle(numbers);
}
private static void byStreamAPI(final List<Integer> numbers) {
double avg = numbers.stream().mapToDouble(num -> num).average().getAsDouble();
System.out.println("Average by Stream API= " + avg);
}
private static void byOldStyle(final List<Integer> numbers) {
double sum = 0.0;
for (Integer num : numbers) {
sum += num;
}
double avg2 = sum / numbers.size();
System.out.println("Average by old style= " + avg2);
}
}
```

console

```
Average by Stream API= 11.857142857142858
Average by old style= 11.857142857142858
```

### References

- Java- Find the element in the List having maximum value
- Different ways to iterate/loop a List of Integers in Java
- Java 8 Stream- Sum of List of Integers