黑马程序员技术交流社区

标题: 关于集合问题 [打印本页]

作者: 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