LinkedList内部以链表的形式存储数据。
ArrayList和Vector内部则以数组的形式存储数据。不过,Vector较ArrayList是线程安全的
LinkedList和ArrayList的大致区别
- ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
- 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针
- 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
总结:ArrayList查询快插入慢,LinkedList查询满插入快。
ArrayList和Vector的大致区别
- 同步性:Vector是线程安全的,即同步的;而ArrayList是线程不安全的,即不同步的。
- 数据增长:当需要增长时,Vector默认增长时原来的一倍,而ArrayList是原来的50%,这样ArrayList就有利于节约内存空间。