一 构造函数 可指定默认初始大小和加载因子 初始的加载因子为0.75每次扩容的大小是原来的2倍 底层使用两种储存策略 数组+单向链表的数据结构数组+TreeNode(红黑树) 二 常用方法 put 对key先进行hash求值 HashMap可以存空值 static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); } 如未指定大小则第一次容器大小为16 每次添加完之后判断容器大小是否到加载值