集合存放的是对象的引用。
ArrayList和LinkedList的区别
- 数据结构;一个是数组,一个是双向链表。
- 随机访问效率;LinkedList需要移动指针。
-
HashMap
Hash算法
哈希算法是指把任意长度的二进制映射为固定长度的较小的二进制值,这个较小的二进制值叫做哈希值。
- 如果两个对象相等,则hashcode一定也是相同的。
-
HashMap实现原理理解
put元素时,先对比hash值,结果如果相同再equals(),这时候会出现两种情况:
key值相同,直接覆盖。
- key值不同,将key-value放入链表中。
链表
- 单向链表:每一个节点分为存储数据的data和指向下一个节点的next指针组成
- 双向链表:除了next,多了一个一个指向前一个节点的指针