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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

List的框架图
    List
     |---- LinkList
     |---- ArrayList
     |---- Vector
     |---- Stack
   
List是一个接口,它继承于Collection的接口。它代表着有序的队列。
ArrayList,LinkedList, Vector, Stack是List的4个实现类。
ArrayList:一个数组队列,相当于动态数组。它由数组实现,随机访问效率高,随机插入、删除效率低。
LinkedList:一个双向链表。它也可以被当作堆栈、队列或双端队列进行操作。随机访问效率低,但随机插入、随机删除效率低。
Vector:矢量队列,和ArrayList一样,它也是一个动态数组。但是ArrayList是非线程安全的,而Vector是线程安全的。
Stack:它继承于Vector。它的特性是:先进后出(FILO, FirstIn Last Out)。
List使用场景
如果涉及到“栈”、“队列”、“链表”等操作,应该考虑用List,具体的选择哪个List,根据下面的标准来取舍。
1、对于需要快速插入,删除元素,应该使用LinkedList。
2、对于需要快速随机访问元素,应该使用ArrayList。
3、对List仅仅只会被一个线程操作时应该使用非同步类(如ArrayList)。
4、对List可能同时被多个线程操作时应该使用同步类(如Vector)。
附件是我11年学严蔚敏数据结构时实现的LinkList(单向链表),和双向链表的实现原理相同。


LinkList.rar

13.47 KB, 下载次数: 372

2 个回复

倒序浏览
人呢, 每人来吗?{:2_30:}
回复 使用道具 举报
我想说我们头像一样......
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马