List<Person> people = Arrays.asList(
new Person("John", 30),
new Person("Mary", 25),
new Person("Bob", 35),
new Person("Alice", 20));
Map<Integer, List<Person>> peopleByAge = people.stream()
.collect(Collectors.groupingBy(Person::getAge));
List<Person> people = Arrays.asList(
new Person("John", 30),
new Person("Mary", 25),
new Person("Bob", 35),
new Person("Alice", 20));
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getAge))
.collect(Collectors.toList());
List<Person> people = Arrays.asList(
new Person("John", 30),
new Person("Mary", 25),
new Person("Bob", 35),
new Person("Alice", 20));
Map<String, Person> peopleMap = people.stream()
.collect(Collectors.toMap(Person::getName, person -> person));
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 1, 2, 3);
// Summing all elements
int sum = numbers.stream()
.reduce((a, b) -> a + b)
.get();
System.out.println(sum);
// Multiplying all elements
int product = numbers.stream()
.reduce((a, b) -> a * b)
.get();
System.out.println(product);
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 1, 2, 3);
// Creating a list of all elements
List<Integer> list = numbers.stream()
.collect(Collectors.toList());
System.out.println(list);
// Creating a set of all elements
Set<Integer> set = numbers.stream()
.collect(Collectors.toSet());
System.out.println(set);
// Creating a map of all elements with their frequency
Map<Integer, Long> map = numbers.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println(map);
List<String> names = Arrays.asList("John", "Mary", "Bob", "Alice");
// Joining all elements with a comma separator
String joined = names.stream()
.collect(Collectors.joining(", "));
System.out.println(joined);