Java集合
文章平均质量分 68
java数组集合的基础知识
晓风残月Lx
今宵酒醒何处,杨柳岸,晓风残月。
展开
-
ArrayList 源码分析
ArrayList的源码分析、ArrayList的扩容算法、ArrayList的快速失败机制原创 2023-02-26 20:53:24 · 100 阅读 · 0 评论 -
HashMap全解
jdk 1.7 数组+链表jdk 1.8 数组+(链表 || 红黑树):数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。数组存储区间连续,占用内存较多,寻址容易,插入和删除困难。:链表就是线性表的链式存储方式。链表的内存是不连续的,前一个元素存储地址的下一个地址中存储的不一定是下一个元素。链表通过一个指向下一个元素地址的引用将链表中的元素串起来。链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。原创 2022-10-23 17:19:53 · 271 阅读 · 0 评论 -
LinkedList和ArrayList
3.LinkedList虽然头尾插入删除效率高,ArrayList尾部插入、删除性能还行,但是ArrayList的插入、删除操作也不一定比LinkedList慢,如果在集合靠近末尾的地方插入,那么ArrayList只需要移动较少的数据,而LinkedList则需要一直查找到列表尾部,反而耗费较多时间,这时ArrayList就比LinkedList要快。ArrayList是基于数组,尾部插入、删除性能还行,其他部分插入、删除都会一个一个移动数据,因此性能会低 ,可以利用cpu缓存、局部性原理降低内存占用。原创 2022-10-23 15:58:23 · 200 阅读 · 1 评论 -
Iterator Fail-Fast和Fail-Safe
fail-safe允许在的过程中对容器中的数据进行修改,而fail-fast则不允许。原创 2022-10-23 08:56:03 · 144 阅读 · 0 评论