Collectors.groupingBy List<?>不使用bean
时间: 2024-06-14 07:08:07 浏览: 125
深入探索Java 8的`Collectors.groupingBy()`:分组的艺术
Collectors.groupingBy是Java 8中的一个用于分组操作的工具类,它可以根据指定的条件将元素分组成一个Map。在使用Collectors.groupingBy时,可以不使用bean,而是直接使用List<?>作为分组的依据。
下面是一个示例代码,演示了如何使用Collectors.groupingBy将List<?>中的元素按照奇偶性进行分组:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GroupingByExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Map<Boolean, List<Integer>> groupByEvenOdd = numbers.stream()
.collect(Collectors.groupingBy(number -> number % 2 == 0));
System.out.println("Even numbers: " + groupByEvenOdd.get(true));
System.out.println("Odd numbers: " + groupByEvenOdd.get(false));
}
}
```
运行以上代码,输出结果如下:
```
Even numbers: [2, 4, 6, 8, 10]
Odd numbers: [1, 3, 5, 7, 9]
```
在这个示例中,我们使用了List<Integer>作为分组的依据,通过对每个元素取模运算来判断奇偶性。最终,我们得到了一个Map<Boolean, List<Integer>>,其中键为true表示偶数,键为false表示奇数。
阅读全文