Main uses of Stream API in Java 8 are:
- It helps in using data in a declarative way. We can make use of Database functions like Max, Min etc., without running a full iteration.
- It makes good use of multi-core architectures without worrying about multi-threading code.
- We can create a pipeline of data operations with Java Stream that can run in a sequence or in parallel.
- It provides support for group by, order by etc. operations.
- It supports writing for code in Functional programming style.
- It provides parallel processing of data.