java可以对map的key排序吗

2020-12-14  本文已影响0人  26a058e669f9

Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。

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

Map.Entry返回Collections视图。

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 {

publicstaticvoidmain(String[] args) {

Map map =newTreeMap(

newComparator() {

publicintcompare(Stringobj1,Stringobj2) {

// 降序排序

returnobj2.compareTo(obj1);

                }

            });

map.put("b","ccccc");

map.put("d","aaaaa");

map.put("c","bbbbb");

map.put("a","ddddd");

Set keySet = map.keySet();

Iterator iter = keySet.iterator();

while(iter.hasNext()) {

Stringkey = iter.next();

System.out.println(key +":"+ map.get(key));

    }

}

}`

运行结果如下:

`d:aaaaa

c:bbbbb

b:ccccc

a:ddddd`

以上就是java可以对map的key排序吗的详细内容,希望对你有所帮助。

《Java学习、面试;文档、视频资源免费获取》

上一篇 下一篇

猜你喜欢

热点阅读