一、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)接口