黑马程序员技术交流社区
标题: 关于集合问题 [打印本页]
作者: 521123270 时间: 2015-5-16 21:38
标题: 关于集合问题
1. 下列关于ArrayList、Vector和LinkedList集合的说法正确是有( )
ArrayList集合底层是数组实现,该集合线程不安全
B. Vector 集合元素的存放是无序的
C. LinkedList集合底层是链表结构,适合做元素的增删操作
D. 这三个集合都是List接口的实现类
求详解!谢谢!解释下!{:3_57:}
作者: zzlin 时间: 2015-5-16 21:38
A对:ArrayList集合底层结构是数组,不同步所以该集合线程不安全
B错:Vector他的底层也是数组实现的 ,存和取都是有序的
C对:LinkedList集合底层是链表结构,增删速度快
D对:这三个集合都是List接口的实现类都是List的子类
数组结构的特点:查询快、增删慢
作者: 赵旗 时间: 2015-5-16 22:05
A是对的 ArrayList集合底层是数组实现,因为他不同步 所以该集合线程不安全
B. Vector 集合元素的存放是无序的 是错的 他的底层也是数组实现的 存和取都是有序的
C. LinkedList集合底层是链表结构,适合做元素的增删操作 这句是对的
D. 这三个集合都是List接口的实现类 这三个都是List的子类 详细你看API
作者: 2666fff 时间: 2015-5-16 22:07
ACD 详细解释看我这个帖子http://bbs.itheima.com/thread-195105-1-1.html
作者: 728503435 时间: 2015-5-16 23:20
答案是ACD
关于第一个选项:ArrayList底层数据结构是数组没错,Lisr接口的三个子类ArrayList , LinkedList, Vector
三者的对比是,除了LinkedList底层是链表结构,其他两个都是数组结构.链表结构的优点是增删快,但是查询慢.
数组的优点是查询快,增删慢.
这里面三个只有Vector是同步的,也就是安全的.楼主可以查询API.
作者: 姜秋艺 时间: 2015-5-16 23:22
1.2 ArrayList -- 数组列表
|-- 底层可变数组
|-- 默认10个位置
|-- 每次增长50%
|-- 线程不安全,运行速度快
|-- 查询块,增删慢
1.3 LinkedList -- 链表
|-- 底层链表数据结构
|-- 查询慢,增删快
|-- 线程不安全,运行速度快
1.4 Vector -- 数组列表
|-- 底层可变数组
|-- 默认10个位置
|-- 每次增长100%
|-- 线程安全,运行速度慢
被ArrayList取代
作者: mmakun 时间: 2015-5-18 14:19
答案是acd
作者: 夏尔 时间: 2015-5-19 09:00
B不对 vector底层也是数组结构 是有序的
作者: 笔墨痕干 时间: 2015-5-19 11:13
Collection
* |--List:元素是有序的,元素可以重复,因为该体系有索引
* |--ArrayList:底层的数据结构使用的是数组。特点:查询数据很快,但是增,删慢。线程不同步
* |--LinkedList:底层使用的是链表。特点:增删的速度快,增删的很慢
* |--Vector:底层使用的是数组数据结构。线程同步,速度非常慢,被ArrayList代替
所以答案应该是AC D
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |