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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 521123270 中级黑马   /  2015-5-16 21:38  /  4570 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

3黑马币


1.      下列关于ArrayList、Vector和LinkedList集合的说法正确是有(  )


ArrayList集合底层是数组实现,该集合线程不安全
B. Vector 集合元素的存放是无序的
C. LinkedList集合底层是链表结构,适合做元素的增删操作
D. 这三个集合都是List接口的实现类
求详解!谢谢!解释下!{:3_57:}

最佳答案

查看完整内容

A对:ArrayList集合底层结构是数组,不同步所以该集合线程不安全 B错:Vector他的底层也是数组实现的 ,存和取都是有序的 C对:LinkedList集合底层是链表结构,增删速度快 D对:这三个集合都是List接口的实现类都是List的子类 数组结构的特点:查询快、增删慢

8 个回复

倒序浏览
A对:ArrayList集合底层结构是数组,不同步所以该集合线程不安全
B错:Vector他的底层也是数组实现的 ,存和取都是有序的
C对:LinkedList集合底层是链表结构,增删速度快
D对:这三个集合都是List接口的实现类都是List的子类
数组结构的特点:查询快、增删慢
回复 使用道具 举报
A是对的 ArrayList集合底层是数组实现,因为他不同步 所以该集合线程不安全
B. Vector 集合元素的存放是无序的  是错的  他的底层也是数组实现的  存和取都是有序的
C. LinkedList集合底层是链表结构,适合做元素的增删操作     这句是对的
D. 这三个集合都是List接口的实现类 这三个都是List的子类 详细你看API

回复 使用道具 举报
ACD 详细解释看我这个帖子http://bbs.itheima.com/thread-195105-1-1.html
回复 使用道具 举报
答案是ACD
关于第一个选项:ArrayList底层数据结构是数组没错,Lisr接口的三个子类ArrayList , LinkedList, Vector
三者的对比是,除了LinkedList底层是链表结构,其他两个都是数组结构.链表结构的优点是增删快,但是查询慢.
数组的优点是查询快,增删慢.
这里面三个只有Vector是同步的,也就是安全的.楼主可以查询API.
回复 使用道具 举报

  1.2 ArrayList -- 数组列表
    |-- 底层可变数组
    |-- 默认10个位置
    |-- 每次增长50%
    |-- 线程不安全,运行速度快
    |-- 查询块,增删慢

  1.3 LinkedList -- 链表
    |-- 底层链表数据结构
    |-- 查询慢,增删快
    |-- 线程不安全,运行速度快


  1.4 Vector -- 数组列表
    |-- 底层可变数组
    |-- 默认10个位置
    |-- 每次增长100%
    |-- 线程安全,运行速度慢
    被ArrayList取代
回复 使用道具 举报
mmakun 中级黑马 2015-5-18 14:19:36
7#
答案是acd
回复 使用道具 举报
夏尔 中级黑马 2015-5-19 09:00:34
8#
B不对 vector底层也是数组结构  是有序的
回复 使用道具 举报
Collection
*                 |--List:元素是有序的,元素可以重复,因为该体系有索引
*                         |--ArrayList:底层的数据结构使用的是数组。特点:查询数据很快,但是增,删慢。线程不同步
*                         |--LinkedList:底层使用的是链表。特点:增删的速度快,增删的很慢
*                         |--Vector:底层使用的是数组数据结构。线程同步,速度非常慢,被ArrayList代替
所以答案应该是AC D
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马