摘要: ArrayList: 1.基于数组,需要连续内存 2.随机访问快(根据下标访问)。(按照内容查询时ArrayList与LinkedList速率基本相同) 3.尾部插入、删除性能好,其他部分插入、删除都会移动数据,因此性能低。 4.可以利用cpu缓存,一定程度上提升读写性能。 (局部性原理:读到一个元 阅读全文
posted @ 2022-08-22 13:41 临易 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 1.failFast (ArrayList) 一旦发现遍历的同时其他人来修改,则立即抛异常。 当执行一个遍历时,另一个线程修改了遍历的数据,则会立即抛出ConcurrentModificationException(并发修改异常)。 实现原理:记录了循环开始时的次数,如果在循环的过程中修改次数被改, 阅读全文
posted @ 2022-08-22 11:36 临易 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 如果调用无参arrayList构造方法,则初始长度为0; 如果构造带参的构造方法,则初始容量为指定长度。 1.调用add()方法 1.第一次扩容为10(从0到9)。 2.后续扩容都是前一次的1.5倍(创建一个新数组(0-14),将旧数组的元素拷贝到新数组中去,用新数组代替旧数组,旧数组没有被引用,作 阅读全文
posted @ 2022-08-22 10:24 临易 阅读(182) 评论(0) 推荐(0) 编辑