首页 > 代码库 > Map:HashMap和TreeMap

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