学堂 学堂 学堂公众号手机端

在Java中,HashMap是无序的数据结构,如果需要对HashMap中的键值对进行排序,可以通过以下方法实现: 将HashMap中的键值对转化为List,然后对List进行排序

lewis 1年前 (2024-03-11) 阅读数 5 #技术

在Java中,HashMap是无序的数据结构,如果需要对HashMap中的键值对进行排序,可以通过以下方法实现:

  1. 将HashMap中的键值对转化为List,然后对List进行排序。
HashMap<String,Integer>map=newHashMap<>(); //添加键值对到map List<Map.Entry<String,Integer>>list=newArrayList<>(map.entrySet()); Collections.sort(list,newComparator<Map.Entry<String,Integer>>(){ publicintcompare(Map.Entry<String,Integer>o1,Map.Entry<String,Integer>o2){ returno1.getValue().compareTo(o2.getValue()); } });
  • 使用TreeMap,TreeMap是有序的Map数据结构,可以按照键或值进行排序。
  • HashMap<String,Integer>map=newHashMap<>(); //添加键值对到map TreeMap<String,Integer>sortedMap=newTreeMap<>(newComparator<String>(){ publicintcompare(Stringo1,Stringo2){ returnmap.get(o1).compareTo(map.get(o2)); } }); sortedMap.putAll(map);

    版权声明

    本文仅代表作者观点,不代表博信信息网立场。

    热门