import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import java.util.stream.Collectors;
public class GroupAListOfNumbersByEvenAndOdd_Java {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(34);
numbers.add(25);
numbers.add(300);
numbers.add(91);
numbers.add(2);
numbers.add(7);
numbers.add(6783);
numbers.add(201);
numbers.add(555);
numbers.add(907);
numbers.add(12002);
Map<Integer, List<Integer>> grouped = numbers.stream()
.collect(Collectors.groupingBy(number -> number % 2));
for (Map.Entry<Integer, List<Integer>> entry : grouped.entrySet()) {
System.out.println(entry.getKey() == 0 ? "\nEven numbers:" : "\nOdd numbers:");
for (int i : entry.getValue()) {
System.out.println(i);
}
}
}
}
/*
run:
Even numbers:
34
300
2
12002
Odd numbers:
25
91
7
6783
201
555
907
*/