A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.  ArrayList、Vector、LinkedList三者的区别?
它们三者都是 List集合的子集合
ArrayList:
  数据结构:  数组
  线程不同步,说明代码执行效率高,有安全隐患
  元素的增删慢, 查找快
  
Vector:
  数据结构: 数组
  线程同步的,说明代码执行效率低, 安全性好
  元素的增删慢, 查找快

LinkedList:
  数据结构:链表
  线程不同步,说明代码执行效率高,有安全隐患
  元素的增删快, 查找慢

1 个回复

倒序浏览
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!
inkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马