Map:HashMap和TreeMap

Posted 勇往直前

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Map:HashMap和TreeMap相关的知识,希望对你有一定的参考价值。

一、Map集合
     特点:将键映射到值得对象

    Map集合和Collection集合的区别?

    Collection:是单列集合,存储的是单独出现的元素
    Map: 是双列集合,存储的是键值对形式的元素

    遍历方式:
       方式一:通过键获取值
                 hm.keySet();
                 get(key)
      方式二:通过键值对对象获取 键和值
                hm.entrySet();
               getKey(),getValue();
二、HashMap
键是哈希表结构,可以保证键的唯一性(依赖于hashCode和equals方法);

案例:
HashMap<String,String>
HashMap<Integer,String>
HashMap<String,Student>
HashMap<Student,String>

 案例总结:
        为了保证键的唯一性,键应该重写那两个方法

三、LinkedHashMap:
     1.链表保证键的有序(指的是:存入和取出的顺序)
     2.哈希表保证键的唯一性

四、TreeMap
       键是红黑树结构,可以保证键的排序和唯一性

TreeMap和TreeSet联系:

 1.底层数据结构都是红黑树

 2.TreeMap要求:作为键的类 要去实现自然排序(Comparable)或实现比较器(Comparator)接口

 3.TreeSet要求: 元素要去实现Comparable:compareTo(Object o) 接口或实现Comparator:compare(Object o1,Object o2)接口

 

以上是关于Map:HashMap和TreeMap的主要内容,如果未能解决你的问题,请参考以下文章

Map:HashMap和TreeMap

HashMap 源码解析之使用构造以及计算容量

map hashmap的使用

30.6 HashMap的使用

Java集合框架 Map接口实现类--HashMap的介绍及使用 & HashMap存储过程

collection(list,set,map)HashMap