JAVA - ArrayList是否会越界?

JAVA - ArrayList是否会越界?

ArrayList并发add()可能出现数组下标越界异常。

ArrayList是实现了基于动态数组的数据结构。

LinkedList是基于链表的数据结构

对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针;

扩展:在ArrayLIst和LinkedList尾部加元素,谁的效率高

当输入的数据一直是小于千万级别的时候,大部分是LinkedList效率高,而当数据量大于千万级别的时候,就会出现ArrayList的效率比较高了。

原来 LinkedList每次增加的时候,会new 一个Node对象来存新增加的元素,所以当数据量小的时候,这个时间并不明显,而ArrayList需要扩容,所以LinkedList的效率就会比较高,其中如果ArrayList出现不需要扩容的时候,那么ArrayList的效率应该是比LinkedList高的,当数据量很大的时候,new对象的时间大于扩容的时间,那么就会出现ArrayList的效率比LinkedList高了

posted @ 2022-02-17 15:08  护发师兄  阅读(308)  评论(0编辑  收藏  举报