美文网首页
java可以对map的key排序吗

java可以对map的key排序吗

作者: 26a058e669f9 | 来源:发表于2020-12-14 21:36 被阅读0次

    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学习、面试;文档、视频资源免费获取》

    相关文章

      网友评论

          本文标题:java可以对map的key排序吗

          本文链接:https://www.haomeiwen.com/subject/ximbgktx.html