There are following way to Segregate Even and Odd numbers using Java8.
- First convert Arrays to list using Arrays.asList() method.
- Now get the Stream data from List using arrayList.stream() method.
- In collect method use Collectors.partitioningBy() collector. this collector partitions the stream in two group.
- Here e -> e % 2 == 0 check which elements are even numbers.
- We use map where keys will be true or false and value will be list of integers.
- Now output will be in form of map. here map.get(true) print the even number and map.get(false) print the odd number.
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class SeprateEvenOddNumbers {
public static void main(String[] args) {
List<Integer> number = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Map<Boolean, List<Integer>> map = number.stream().collect(Collectors.partitioningBy(e -> e % 2 == 0));
System.out.println("even numbers are :- " + map.get(true) + " ,odd numebrs are :- " + map.get(false));
}
}
Output :-
even numbers are :- [2, 4, 6, 8, 10] ,odd numebrs are :- [1, 3, 5, 7, 9]