java可以对map的key排序吗

互联网 19-11-19

Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 (推荐学习:java课程)

TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。

key排序

TreeMap默认是升序的,如果我们需要改变排序方式,则需要使用比较器:Comparator。Comparator可以对集合对象或者数组进行排序的比较器接口,实现该接口的public compare(T o1,To2)方法即可实现排序,如下:

import java.util.Comparator; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; public class TreeMapTest {     public static void main(String[] args) {         Map<String, String> map = new TreeMap<String, String>(                 new Comparator<String>() {                     public int compare(String obj1, String obj2) {                         // 降序排序                         return obj2.compareTo(obj1);                     }                 });         map.put("b", "ccccc");         map.put("d", "aaaaa");         map.put("c", "bbbbb");         map.put("a", "ddddd");                  Set<String> keySet = map.keySet();         Iterator<String> iter = keySet.iterator();         while (iter.hasNext()) {             String key = iter.next();             System.out.println(key + ":" + map.get(key));         }     } }

运行结果如下:

d:aaaaa c:bbbbb b:ccccc a:ddddd

以上就是java可以对map的key排序吗的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:pr做好的序列不见了怎么办?

相关资讯