list数组排序---stream

import java.util.*;
import java.util.stream.Collector;
import java.util.stream.Collectors;

public class ListAnum {
public static void main(String[] args){
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(99);
list.add(9);
list.add(2);
list.add(1);
list.add(99);
list.add(99);
list.add(23);
list.add(1);
list.add(00);
list.add(432);
list.add(43222);
list.add(22);
list.add(99);
list.add(2);
list.add(212);
//Map<Integer,Long> map = list.stream().collect(Collectors.groupingBy(p ->p,Collectors.counting()));
//map.forEach((k,v) -> System.out.println(k+":"+v));
Map<Integer,Long> map = list.stream().collect(Collectors.groupingBy(e->e,Collectors.counting()));
Map<Integer,Long> map1 = new LinkedHashMap<>();
//通过value排序
//map.entrySet().stream().sorted(Map.Entry.comparingByValue()).forEachOrdered(e->map1.put(e.getKey(),e.getValue()));
//通过key排序
map.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEachOrdered(e->map1.put(e.getKey(),e.getValue()));
System.out.println(map1);



}
}
posted @ 2019-03-03 18:25  图图图图胡图图  阅读(852)  评论(0编辑  收藏  举报