ArrayList,LinkedList,Vector

Java提供了两个类ArrayList和LinkedList,ArrayList的内部实现是基于内部数组Object[],ArrayList概念上更像数组,LinkedList内部实现是基于一组连接的记录,概念上更像链表 数组

大体总结: 安全

1.ArrayList实现了基于动态数组,LinkedList基于链表结构 性能

2.在后面添加数据,更倾向于ArrayList,在中间添加或者删除数据,更倾向于LinkedList spa

3.对于get和set,ArrayList优于LinkedList,由于LinkedList沿着连接的一端查找下去 线程

4.对于add和remove,LinkedList优于ArrayList,由于ArrayList要移动数据 rem

5.ArrayList和LinkedList都是线程不安全的 get


ArrayList与Vector的功能是类似的,ArrayList是线程不安全的,Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),所以ArrayList的性能比Vector要好 同步

当ArrayList和Vector的元素达到初始化的大小时,Vector会将它的容量翻倍,ArrayList增长50%,ArrayList更有利于节省空间 thread

相关文章
相关标签/搜索