JAVA list 数值型数组, 根据某个值快速分组
时间: 2024-03-17 10:42:50 浏览: 79
用JAVA语言实现的对数据的快速排序法
如果您有一个Java List数值型数组,其中包含多个数字,并且您需要根据其中某个属性的值将它们快速分组,可以使用Java 8中的Stream API和Collectors.groupingBy()方法。具体实现步骤如下:
1. 首先,将数组转换为流。
2. 接下来,您可以使用Collectors.groupingBy()方法将流分组为个集合,根据每个数字的属性值进行分组。
3. 最后,将分组结果存储在一个Map中,其中键为属性值,值为相应的数字列表。
以下是示例代码:
```java
List<Integer> numbers = // 初始化数字列表
Map<Integer, List<Integer>> result = numbers.stream()
.collect(Collectors.groupingBy(number -> number % 2));
```
在此示例中,我们将数字列表按照奇偶性分组,可以看出,这里的属性值就是数字模2的结果。result将包含两个集合,一个包含所有偶数,一个包含所有奇数。
同样的,如果您的属性值是一个复杂类型,例如另一个对象或数组,您需要使用lambda表达式或方法引用来指定需要分组的属性。
阅读全文