stream排序
本人在日常使用中常常想要通过map中的某个值去进行排序,这时候为了简洁会使用stream流,那么该如何实现?
说到排序那么必须要用到LinkedHashMap,我会用stram中的sorted
,先假设我有一个map需要通过它value的length来排序
LinkedHashMap<String, String> sortMap = testMap .entrySet().stream().sorted(Comparator.comparingInt(s -> s.getValue().length())).
collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (k1, k2) -> k2, LinkedHashMap::new));
这样就实现了,
但是当我想要倒叙的时候就出现问题了,网上搜sorted只有两种倒叙方法,第一种
.sorted(Comparator.reverseOrder())
...