Processing collections in a functional style
- Start from a collection (List, Set, Map keys/values, array, etc.)
- Apply intermediate operations (filter, map, sorted, distinct, etc.)
- Finish with a terminal operation (collect, forEach, count, reduce, etc.)
Convert from list to stream:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
// Convert to stream
Stream<Integer> stream = list.stream();
Filtering / selecting data
- filter() helps to pick elements that satisfy a condition
Transforming data
- map() transforms each element
- convert Integer → String, calculate squares, extract fields from objects
Sorting / slicing
- sorted(), skip(), limit()