Map的从大到小排序
LinkedHashMap<String, Integer> collect = map.entrySet()
.stream()
.sorted(Map.Entry.<String, Integer>comparingByValue()
.reversed())
.limit(5)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));
.limit(5)指取前五个
value从大到小
Map<String,String> map=new HashMap<>();
Map<String,String> sortedMap=new LinkedHashMap<>();
map.put("4","4");
map.put("3","3");
map.put("5","0");
map.put("1","1");
map = map.entrySet().stream()
.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
.collect(Collectors.toMap(x -> x.getKey(), x -> x.getValue(), (x1, x2) -> x2, LinkedHashMap::new));
System.out.println(map);
value从小到大
Map<String,String> map=new HashMap<>();
Map<String,String> sortedMap=new LinkedHashMap<>();
map.put("4","4");
map.put("3","3");
map.put("5","0");
map.put("1","1");
map = map.entrySet().stream()
.sorted(Map.Entry.comparingByValue())
.collect(Collectors.toMap(x -> x.getKey(), x -> x.getValue(), (x1, x2) -> x2, LinkedHashMap::new));
System.out.println(map);
key 从小到大
Map<String,String> map=new HashMap<>();
Map<String,String> sortedMap=new LinkedHashMap<>();
map.put("4","4");
map.put("3","3");
map.put("5","0");
map.put("1","1");
map = map.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(x -> x.getKey(), x -> x.getValue(), (x1, x2) -> x2, LinkedHashMap::new));
System.out.println(map);
key从大到小
Map<String,String> map=new HashMap<>();
Map<String,String> sortedMap=new LinkedHashMap<>();
map.put("4","4");
map.put("3","3");
map.put("5","0");
map.put("1","1");
map = map.entrySet().stream()
.sorted(Collections.reverseOrder( Map.Entry.comparingByKey()))
.collect(Collectors.toMap(x -> x.getKey(), x -> x.getValue(), (x1, x2) -> x2, LinkedHashMap::new));
System.out.println(map);
int数组取出第二大的数组
int[] nums={-2,1,-3,4};
List<Integer> collect = Arrays.stream(Arrays.stream(nums)
.boxed().toArray(Integer[]::new)).sorted((x,y)->y-x).collect(Collectors.toList());
System.out.println(collect.get(1));