要对Java中的元素进行分组后排序,可以使用Collectors.groupingBy()方法来实现分组操作,然后再使用Collectors.collectingAndThen()方法来对每个分组进行排序。

下面是一个示例代码,展示如何对一个整数列表进行分组后排序:

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(4, 2, 7, 1, 5, 3, 9, 8, 6);

        Map<Integer, List<Integer>> groupedAndSortedNumbers = numbers.stream()
                .collect(Collectors.groupingBy(number -> number % 2, 
                        Collectors.collectingAndThen(Collectors.toList(), sortedList -> {
                            sortedList.sort(Integer::compareTo);
                            return sortedList;
                        })));

        System.out.println(groupedAndSortedNumbers);
    }
}

在上述代码中,我们首先使用Collectors.groupingBy()方法根据数字的奇偶性进行分组。然后,我们使用Collectors.collectingAndThen()方法对每个分组中的元素进行排序。在这个例子中,我们使用sortedList.sort(Integer::compareTo)对列表进行排序。

输出结果将是一个Map对象,其中键是奇偶性,值是对应分组的排序后的数字列表。例如,上述代码的输出结果可能是{0=[2, 4, 6, 8], 1=[1, 3, 5, 7, 9]}

请注意,这只是一个示例代码,可以根据实际需求进行修改和扩展

java分组后排序

原文地址: https://www.cveoy.top/t/topic/i1NW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录