JAVA stream groupingBy 分组、排序
groupingBy得到的结果一般为Map<String, List>形式,之前碰到有人问对得到的Map<String, List>需要对key自然排序
对groupingBy结果key排序
@Data
@AllArgsConstructor
public class Product {
    private String name;
    private int count;
    
}
public static void main(String[] args) {
         Product product = new Product("h", 2);
        Product product1 = new Product("a", 4);
        Product product2 = new Product("a", 2);
        Product product3 = new Product("c", 4);
        Product product4 = new Product("u", 5);
        Product product5 = new Product("u", 2);
        List<Product> list = asList(product, product1, product2, product3, product4, product5);
        TreeMap collects = list.stream().collect(Collectors.groupingBy(Product::getName, TreeMap::new, Collectors.toList()));
    }
其实就是用利用TreeMap的排序特性可以使得key是按自然排序
来源:CSDN
作者:huboson2012
链接:https://blog.csdn.net/huboson2012/article/details/103598031