美文网首页
No.5.2 TreeMap 有序Map

No.5.2 TreeMap 有序Map

作者: 醒着的码者 | 来源:发表于2016-04-10 22:22 被阅读621次

概述:

(1)TreeMap是基于二叉树的Map接口实现。
(2)这里有序指的是TreeMap中的键是有序的,我们可以知道Map中的键可以转化一个Set集合,所以实现TreeMap排序的方法是实现,TreeMap中键对象的排序;
(3)排序方法当然也有两种:
第一种:TreeMap(Comparator<? super K> comparator) 传入一个比较器;
第二种:将 存储的键对象实现Comparable接口;

这里常用的是第一中方法:

这里使用上一节的比较器MyComparator();

public class HashMapDemo {
public static void main(String[] args) {
    TreeMap<Person,Integer> map = new TreeMap<>(new MyComparator());
    map.put(new Person(1,"zhangsan"),1);
    map.put(new Person(2,"lisi"),2);
    map.put(new Person(3,"lisi"),3);
    
    Set<Map.Entry<Person,Integer>> entry = map.entrySet();
    for(Map.Entry<Person,Integer > temp : entry){
        System.out.println(temp.getKey() + ": " + temp.getValue());
    }
}  
}

输出结果为:
[ id: 2,name: lisi]: 2
[ id: 3,name: lisi]: 3
[ id: 1,name: zhangsan]: 1

相关文章

  • No.5.2 TreeMap 有序Map

    概述: (1)TreeMap是基于二叉树的Map接口实现。(2)这里有序指的是TreeMap中的键是有序的,我们可...

  • TreeMap

    TreeMap TreeMap实现了Map接口,基于红黑树(Red-Black tree)实现,是一个有序的key...

  • java.util系列源码解读之TreeMap

    TreeMap:基于红黑树实现的一个有序的Map实现类.这个有序的维护是通过key实现的Comparable接口或...

  • Java基础知识03

    Map --------------HashMap --------------TreeMap Map中要学习的方...

  • TreeMap和ConcurrentHashMap总结

    TreeMap底层是红黑树,能够实现该Map集合有序~ 如果在构造方法中传递了Comparator对象,那么就会以...

  • 聊聊java中的哪些Map:(九)TreeMap源码分析

    [toc] java中还有一个有序的Map是TreeMap,虽然相对于HashMap,其出镜率并不高,但是我们在某...

  • lambda HashMap 排序

    TreeMap 按key排序生成map可以有TreeMap 完成,TreeMap可以按key的自然顺序排序(Com...

  • JDK1.8TreeMap

    [toc] 概述 TreeMap也是Map接口的一种实现类,他最大的特点是迭代有序(默认按照Key值升序迭代)当然...

  • Java Map原理备忘(三)

    接上一次Java Map原理备忘(二)。TreeMap is a map implementation that ...

  • TreeMap简介

    TreeMap是支持排序的map,基于红黑树,无容量限制,TreeMap非线程安全。 TreeMap继承Abstr...

网友评论

      本文标题:No.5.2 TreeMap 有序Map

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