
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
- 上一篇 帧中继是一种( )的协议。
- 下一篇 有关下述Java代码描述正确的选项是____。
查看评论