1.手写一个HashMap
2.jdk1.8的HashMap原理
3.HashMap扩容机制是怎么样的?
4.JDK1.8为什么要使用红黑树
5.为什么重写Equals方法时,要重写HashCode方法,根HashMap有关系吗?为什么
6.HashMap是线程安全的吗?遇到过ConcurrentModificationException异常吗?为什么会出现?如何解决?
7. 在使用HashMap的过程中我们应该注意些什么问题?
手写一个HashMap
链表:
public static void main(String[] args) { //头部 Node header = new Node("header",null); //新的值插入到头部 header = new Node("new",header); }
static class Node{ private String obj; private Node next; public Node(String obj) { this.obj = obj; } public Node(String obj, Node next) { this.obj = obj; this.next = next; } }
运行结果如图所示:新的插入的值放入了链表的头部,原来的值下移。