Java 8 Collectors examples

In this post,  we are going to see java 8 Collectors examples. You can do various operations such as average, count, groupby, sort the list with the help of Collectors. I am not providing theory here, I think you will learn better with the help of examples.
Examples:

Counting:

Counting is used to count number of elements in the stream.It returns Collector instance which can be accepted by collect method.

When you run above code, you will get below output:

AveragingInt :

AveragingInt is used to find average of stream elements as int datatype. It returns Collector instance which can be accepted by collect method.

When you run above code, you will get below output:

Lets understand how did you get 30 for case 1 :
(10+20+30+40+50/5)= 150/5 =30.0 
Now you must wondering how did we get 1100 for 2nd case:
(10*10 + 20*20 + 30*30 + 40*40 + 50*50)/5=5500/5 = 1100.0 
If you want to understand more about v-> v*v , you can go through Java 8 lambda expressions Similarly we have different function for different data types such as AveragingDouble, AveragingLong.

joining

Joining method is used to concatenate with delimiter, you can also pass prefix and suffix.

When you run above code, you will get below output:

summingint:

summingInt is used to find sum of stream elements as int datatype. It returns Collector instance which can be accepted by collect method.

When you run above code, you will get below output:

Similarly we have different function for different data types such as summingDouble, summingLong.

collectingAndThen:

collectingAndThen: is used to get a Collector instance and perform finishing function on top of it.


When you run above code, you will get below output:

Reference: 
https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html

Add Comment