给HashMap排序的方法
程序员文章站
2022-06-05 14:13:29
...
给HashMap排序的方法
1、给key排序
将HashMap转化为TreeMap,treemap是一个b+树,排序有很好的性能,升序还是降序需要重写compareble方法。
2、给value排序
将hashmap转化为LinkedHashMap,
升序:
LinkedHashMap<Float, Float> sortedRatioLinkedMap = modifyBugRatioMap.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue(new Comparator<Float>() {
@Override
public int compare(Float o1, Float o2) {
if(o2 - o1 > 0f){
return 1;
}else{
return -1;
}
}
}))
.collect(Collectors
.toMap(Map.Entry::getKey,
Map.Entry::getValue,
(e1, e2) -> e2,
LinkedHashMap::new));