面试问题:
HashMap是怎么解决哈希冲突的?
HashTable,HashMap,ConcurrentHashMap的区别?
HashMap的扩容机制?
讲讲HashMap的哈希函数?
ArrayList和HashMap的fail-fast机制是什么?
HashMap需要重写equals方法吗?
HashMap树化的条件是什么?为什么这样设计?
什么是浅拷贝?什么是深拷贝?ArrayList在扩容时是深拷贝还是浅拷贝?
创建HashMap时为什么推荐指定初始容量?已知要添加元素数量为98,初始化容量应该为多少?
CopyOnWriteArrayList是怎么解决线程安全问题的?
CopyOnWriteArrayList可以保证数据的实时一致性吗?
HashMap如何解决hash冲突?
使用链表进行存储时查找到相应数据的时间复杂度为O(n)
当链表达到什么条件链表转化为红黑树?时间复杂度为O(logn)
如果没有达到数组的64个,首先考虑进行扩容(数组长度乘以2 )相应的会导致链表长度减少。
位运算符!!!
ArrayList扩容机制:
List<Integer>list = new ArrayList<>(4);初始化容量为4 扩容还是乘以1.5倍
如果没有指定初始化的容量默认为10