HashMap,HashTable,ConcurrentHashMap面试笔记

HashMap HashMap(java8以前):数组+链表 HashMap数据长度默认是16,每个元素存储链表头节点,通过位运算的方式计算出元素要存放数组的位置,极端的情况:如果添加的元素通过hash散列运算总是得出相同的值及分配到同一个桶中,这样会使得某个桶的链表会变得很长,链表查询需要从头部逐步遍历,因此性能从O(1)变成O(n)。 HashMap(java8以后):数组+链表+红黑树性能O
相关文章
相关标签/搜索