HashMap的特点
1、HashMap是Map里面的实现类
2、没有额外需要学习的特有方法,直接使用Map里面的方法就可以
3、无序、不重复、无索引
HashMap的原理:
1、HashMap底层是哈希表结构的
2、依赖hashCode方法和equals方法保证键的唯一
3、如果键存储的是自定义对象,需要重写hashCode方法和equals方法
如果值存储自定义对象,不需要重写hashCode方法和equals方法
LinkedHashMap:
特点:由键决定:有序、不重复、无索引
这里的有序指的是保证存储和取出的元素顺序一致
原理:底层数据结构是哈希表,只是每个键值对元素又额外的多了一个双链表的机制记录存储的顺序
TreeMap:
特点:1、TreeMap跟TreeSet底层原理一样,都是红红黑树结构的
2、由键决定特性:不重复、无索引、可排序
注:默认按照键的从小到大进行排序,也可以自己规定键的排序规则
代码书写两种排序规则
1、实现Comparable接口,指定比较规则
2、创建集合时传递Comparator比较器对象,指定比较规则