Skip to content
Advertisement

Combine similar elements in a Java Stream

How to combine consecutive similar objects that are in a Java Stream?

Till now I could not find a good solution, so I hope you can help.

Suppose we have a class like the following:

JavaScript

When having a Stream { “a”, 1 }, { “a”, 2}, { “b”, 4}, { “b”, “5” } and that needs to be processed as { “a”, 3 }, { “b”, 9 }.

Combining means of course, adding the counts for the objects with the same type.

How to do?

Advertisement

Answer

You can use Collectors.toMap to collect the stream into the desired Map.

Demo:

JavaScript

Output:

JavaScript
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement