java集合之ArrayList
2020-01-15 本文已影响0人
这一刻_776b
1、ArrayList是List接口的可变数组非同步实现,并允许包括null在内的所有元素。
2、底层使用数组实现
3、该集合是可变长度数组,数组扩容时,会将老数组中的元素重新拷贝一份到新的数组中,每次数组容量增长大约是其容量的1.5倍,这种操作的代价很高。
4、采用了Fail-Fast机制,面对并发的修改时,迭代器很快就会完全失败,而不是冒着在将来某个不确定时间发生任意不确定行为的风险
5、remove方法会让下标到数组末尾的元素向前移动一个单位,并把最后一位的值置空,方便GC
参考文献:
http://zhangshixi.iteye.com/blog/674856lhttps://www.cnblogs.com/leesf456/p/5308358.html