一、处理key的hashcode步骤
二、Java集合框架图
三、LinkedList的特点
(1)LinkedList 是双向链表实现的 List
(2)LinkedList 是非线程安全的 LinkedList 元素允许为 null,允许重复元素
(3)LinkedList 是基于链表实现的,因此插入删除效率高,查找效率低
(4)LinkedList 是基于链表实现的,因此不存在容量不足的问题,所以没有扩容的方法
(5)LinkedList 还实现了栈和队列的操作方法,因此也可以作为栈、队列和双端队列来使用
四、Collection 与 Collections的区别
Collection和Collections一个是接口,一个是类
Collection是集合框架的父接口
Collections是为集合框架提供服务的工具类,所有的方法都是静态的,提供的功能方法:
折半查找法、集合的线程安全、拷贝、排序等
五、Comparable 与 Comparator 的区别
Comparable为可排序的,也被称为自然排序或内部比较器,实现该接口的类的对象自动拥有可排序功能。
Comparator为比较器,也被称为外部比较器,实现该接口可以定义一个针对某个类的排序方式。
Comparator与Comparable同时存在的情况下,前者优先级高
名称 | 类(接口)名 | 特点 |
数组 | ArrayList | 元素之间的地址是连续,查询效率高 |
链表 | LinkedList | 元素地址不连续,插入,删除效率高 |
栈 | Stack | LIFO,即后进先出 |
队列 | Queue接口 | FIFO,即先进先出 |
双端队列 | Deque接口 | 两端都可以插入与删除,即包括队列的功能,也包括栈的功能 |
特殊说明 LinkedList;
即实现了 List 接口,同时也实现 Queue 和 Deque 接口,内存是通过链表来实现的;