ArrayList list = new ArrayList(20);中的list扩充几次

标签: Java
6人阅读 评论(0) 收藏 举报
分类:

ArrayList list = new ArrayList(20);中的list扩充几次
 A. 0
 B. 1
 C. 2
 D. 3

List

元素有序、可重复

ArrayList、Vector默认初始容量为10

Vector:线程安全,但速度慢

    底层数据结构是数组结构
    加载因子为1:即当 元素个数 超过 容量长度 时,进行扩容
    扩容增量:原容量的2倍
      如 Vector的容量为10,一次扩容后是容量为20

ArrayList:线程不安全,查询速度快

    底层数据结构是数组结构
    扩容增量:原容量的1.5倍+1
      如 ArrayList的容量为10,一次扩容后是容量为16

Set(集)

元素无序、不可重复

HashSet:线程不安全,存取速度快

  底层实现是一个HashMap(保存数据),实现Set接口
  默认初始容量为16
  加载因子为0.75:即当 元素个数 超过 容量长度的0.75倍 时,进行扩容
  扩容增量:原容量的2倍
      如 HashSet的容量为16,一次扩容后是容量为32

Map是一个双列集合

HashMap:默认初始容量为16(为何是16:16是2^4,可以提高查询效率,另外,32=16<<1)
  加载因子为0.75:即当 元素个数 超过 容量长度的0.75倍 时,进行扩容
  扩容增量:原容量的2倍
  如 HashSet的容量为16,一次扩容后是容量为32


解析:

  • ArrayList list=new ArrayList(); 这种是默认创建大小为10的数组,每次扩容大小为1.5倍+1。
  • ArrayList list=new ArrayList(20); 这种是指定数组大小的创建,没有扩充。

答案:A

查看评论

ArrayList list = new ArrayList(20);中的list扩充几次,笔试题

ArrayList list=new ArrayList(); 这种是默认创建大小为10的数组,每次扩容大小为1.5倍 ArrayList list=new ArrayList(20); 这种...
  • m0_37860769
  • m0_37860769
  • 2017-11-27 21:22:30
  • 410

ArrayList的自动扩充机制

ArrayList的自动扩充机制
  • xidiancoder
  • xidiancoder
  • 2017-02-12 19:47:46
  • 4299

List list=new ArrayList()怎么理解???

List是接口,ArrayList是List的实现类。 至于为什么是写成List list = new ArrayList()而不是ArrayList arrayList = new Arr...
  • llayjun
  • llayjun
  • 2015-07-09 09:05:58
  • 4490

JAVA面试题的详细答案

一 单选题 1. 0.6332的数据类型是() A float B double C Float D Double 答案:B 解析:默认为double型,如...
  • Abandon_Sun
  • Abandon_Sun
  • 2017-10-09 14:51:25
  • 351

ArrayList list = new ArrayList() 和List<String> list = new ArrayList<String>() 的区别?

一种形式用当前类作为引用类型,那么可以访问到ArrayList这个类中的所有公用方法。第二种形式,用ArrayList实现的接口List作为引用类型,那么通过list引用可以访问到接口中定义的方法。也...
  • StrongManTwo
  • StrongManTwo
  • 2015-03-14 22:42:43
  • 1136

如何理解 List list = new ArrayList();

List是一个接口,不能进行实例化 new List() ,只能使用它的实现类 ArrayList是一个类 这句话的意思就是 ArrayList类实现了List接口 也可以理解为父类的引用指向了...
  • purple25
  • purple25
  • 2016-07-27 23:24:11
  • 182

为什么是List list = new ArrayList(),而不直接用ArrayList

工作的时候,同事遇到这样一个问题,我也只是知道个大概,网上搜罗,这就整理一下。       编程是要面向对象编程,针对抽象(接口),而非具体     List 是接口,ArrayList是实...
  • RainBerryLi
  • RainBerryLi
  • 2011-09-23 13:51:51
  • 12256

ArryList初始状态和扩容

探索ArrayList自动改变size真相 ArrayList的列表对象实质上是存储在一个引用型数组里的,有人认为该数组有“自动增长机制”可以自动改变size大小。正式地说,该数组是无法改变 ...
  • u011537053
  • u011537053
  • 2016-04-07 10:40:47
  • 2489

ArrayList list = new ArrayList(); & ArrayList list = new ArrayList(); 区别

昨天在Eclipse上,敲入: ArrayList list = new ArrayList();  发现报错:Multiple markers at this line              -...
  • yanworld
  • yanworld
  • 2010-08-27 13:03:00
  • 571

List list = new ArrayList();和ArrayList list=new ArrayList();的区别?

List是一个接口,而ArrayList 是一个类。 ArrayList 继承并实现了List。 List list = new ArrayList();这句创建了一个ArrayList的对...
  • u013456370
  • u013456370
  • 2017-01-16 16:08:58
  • 1200
    个人资料
    等级:
    访问量: 0
    积分: 152
    排名: 0