有没有什么数据结构包括ArrayList和LinkedList的优缺点?
答:有。就是HashMap.为什么会包含这两者的优缺点呢?
因为,他是一个数组+链表的结构。
HashMap 就是key+value的形式对应 顺序表 +链表
看HashMap的源码可知,Hashmap的初始化,如果没有给大小,默认给的长度是4.且说明必须是2的次方。为什么呢?
table的大小在哪里确定?
在put里。
key的作用:
key可以为空。我们可以put(null,value)
我们put的任何key 都转换为hashcode.所以我们可以put任何类型的值作为key.
这个hashcode的值如何转变成table的[0-table.size-1]的范围呢? 与取运算。h & (length -1) 等同于 h % (length -1)