温馨提示×

java怎么给list按照规则分组

小亿
355
2024-03-01 12:35:15
栏目: 编程语言

要给一个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进行分组,并对结果进行进一步处理。

0