0
点赞
收藏
分享

微信扫一扫

物联网云组态平台

RIOChing 04-10 08:00 阅读 2
面试java

ArrayList

底层实现

使用Object[] 动态数组进行存储

特性

  • 支持存储null值
  • 非线程安全
  • 支持快速访问

初始化方法

  • 无参–返回一个空的列表(DEFAULTCAPACITY_EMPTY_ELEMENTDATA)
  • 指定初始容量: new ArrayList(20);
  • 指定集合 new ArrayList(collection);

扩容

  1. 如果是使用无参构造方法进行初始化的,当添加第一个元素时,扩容成10;
  2. 当下一次超出容量时,扩容为上次容量的1.5倍
  3. 批量添加会出发多次扩容(10->25->…)

遍历方式

  • for-each(本质上是使用迭代器)
for(String s : list)
  • for循环
  • 迭代器(单线程下遍历时修改不会引起异常)
Iterator(String) it = list.iterator();
while(it.hasnext()) {
print(it.next);
}
举报

相关推荐

0 条评论