ArrayList原理:
动态数组: Object[] elementData
扩容:
0.5倍,采用System.arrayCopy() 拷贝到新的数组
缩容:
可以显式调用trimToSize() 来缩小elementData数组的大小,避免扩容后由remove,或者一次扩容0.5倍导致的空间浪费
相比LinkedList区别:
ArrayList的add(e),get(i), set(i, e)操作较快
LinkedList的remove(i), remove(e), add(i, e)操作较快
网友评论