欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

给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));
相关标签: java语法