为了账号安全,请及时绑定邮箱和手机立即绑定

List接口实现有哪些及其区别?

List接口实现有哪些及其区别?


正在回答

1 回答

1,List接口继承Iterable和Collection接口,它可以将元素插入在指定的位置,用索引方式访问元素,允许Null值插入.

2,  List的直接实现是两个抽象类,AbstactList和AbstractSequentialList.其中,AbstractList为随即访问(如数组)实现方案提供尽可能的封装,AbstractSequentialList为连续访问(如链表)实现方案提供了尽可能的封装。

3,ArrayList,直接父类是AbstractList,数据结构是大小可变的数组,它不是同步的,在一次性大量插入的情况下,最好先调用ensureCapacity()以减少新增空间的分配操作。它的Iterate和ListIterater是快速失败的。

4,LinkedList,直接父类是AbstractSquentialList.数据结构是双向链表,它不是同步的,它同时实现了Deque(双向队列)和Queue(队列)接口。同时它还提供了push和pop这两个堆栈操作的接口。它的Iterate和ListIterater是快速失败的。

5,Vector,直接父类是AbstractList,特性和ArrayList一样,只是它是线程同步的。

6,Stack,直接父类是Vector,实现堆栈这种数据结构。

7,AttributeList,直接父类是ArrayList,里面存放元素必须是Attribute

8,RoleList,直接父类是ArrayList,里面存放的元素必须是Role

9,CopyonWriteArrayList,直接父类是AbstactList,是ArrayList线程安全的一个变体,所有的操作都将数组重新复制一遍

10,RoleUnresovledList,直接父类是ArrayList.用于存放未检索到的Role


0 回复 有任何疑惑可以回复我~
#1

凉风5 提问者

非常感谢!
2016-10-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

List接口实现有哪些及其区别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信