java怎么给list按照规则分组

avatar
作者
筋斗云
阅读量:0

要给一个List按照某个规则进行分组,可以使用Java Stream API中的Collectors.groupingBy()方法。这个方法可以根据指定的规则对List中的元素进行分组,返回一个Map对象,其中键为分组标准,值为属于该分组的元素列表。

以下是一个简单的例子,假设有一个List包含一组整数,我们想按照奇偶性进行分组:

import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors;  public class Main {     public static void main(String[] args) {         List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);          Map<String, List<Integer>> groupedNumbers = numbers.stream()                 .collect(Collectors.groupingBy(number -> number % 2 == 0 ? "Even" : "Odd"));          System.out.println(groupedNumbers);     } } 

在上面的例子中,我们使用了Stream API中的collect()方法和groupingBy()方法,根据元素的奇偶性进行分组,并将结果存储在一个Map对象中。输出结果如下:

{Even=[2, 4, 6, 8], Odd=[1, 3, 5, 7, 9]} 

根据具体的需求,可以根据不同的规则对List进行分组,并对结果进行进一步处理。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!