一、HashMap内部的数据结构是什么?
数组+单向链表
二、怎么验证内部结构是数组和单向链表?
a、数组:通过HashMap
源码知道、HashMap
内部有个属性 transient Node<K,V>[] table
b、单向链表:内部类Node
里面维护了一个next
的属性 Node<K,V> next
,是指向下一个节点的;
三、HashMap里面为什么会有hash的存在?hash计算的理解?
我们先看下我的事例代码
public class HashMapDemo {
public static void main(String[] args) {
HashMap<String,String> map=new HashMap<String, String>();
String keys="names";
String values="zhangsans";
map.put(keys,values);
System.out.println("数组的默认大小:"+ (1<<4));
System.out.println("对应二进制ÿ