----
一:List、Set、Map有什么特点,适用的场景
(一) 结构和特点
一:List
有序的、可以重复,根据不同的实现,底层可以是数组(ArrayList、Vector)或者链表(LinkedList...)
7、初始化容量大小和扩容大小不同。...,但是Hash函数的值相同,则表示碰撞
2、HashMap底层是数组 + 链表(1.8后当集合元素大于等于64个且链表长度大于8时会转为红黑树),key的index计算方式 = key.hash &...四: 数组、链表、哈希表的区别
1、数组: 连续的一篇存储区间,占用内存严重,故空间复杂度高,二分查找事件复杂度为O(1),寻址容易,插入和删除困难(因为剩下的需要移动坐标)
2、链表: 存储区间松散...,占用内存宽松,通过指针关联前后元素位置,所以空间复杂度小,时间复杂度大,达到了O(n),寻址困难,插入和删除容易
3、哈希表: 即链表的数组,结合了两者的特点
(1)、元素存储到数组的位置: