Approach:
Use Collectors.partitioningBy()
to separate even and odd numbers into a Map<Boolean, List<Integer>>
.
import java.util.*; import java.util.stream.Collectors; public class SeparateOddEven { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(10, 21, 32, 43, 54, 65, 76, 87, 98, 109); Map<Boolean, List<Integer>> partitioned = numbers.stream() .collect(Collectors.partitioningBy(n -> n % 2 == 0)); List<Integer> evenNumbers = partitioned.get(true); List<Integer> oddNumbers = partitioned.get(false); System.out.println("Even Numbers: " + evenNumbers); System.out.println("Odd Numbers: " + oddNumbers); } }
Output:
Even Numbers: [10, 32, 54, 76, 98] Odd Numbers: [21, 43, 65, 87, 109]