List总结
2019-07-10 本文已影响0人
kokokokokoishi
ArrayList
简介
ArrayList底层为Object数组, 当不提供参数实, 默认使用空数组, 由于add 有可能会导致数组扩容, 当list的大小可预计时, 最好提供固定的大小以防止扩容
add过程
先确定当前数组大小够不够,不够的话扩容, 每次变为之前1.5倍, 如果不在末尾插入, 会导致数组拷贝
remove过程
若非移动末尾项, 会导致数组拷贝
LinkedList
底层为双向链表
add和remove代价小, 查询代价大