Java 8使用Collectors.partitioningBy分割列表

时间:2022-06-01 19:40:03

有这样一个集合:

List<Integer> integers = [ 1,2,3,4,5,6,7,8,9]

现在需要把集合按奇偶数分割为两个列表。这种情况下,我们可以使用Collectors.partitioningBy来分割:

Map<Boolean, List<Integer>> map = 
    integers.stream().collect(Collectors.partitioningBy(x -> x%2 == 0));

partitioningBy会根据值是否为true,把集合分割为两个列表,一个true列表,一个false列表。