面试准备 集合 List

ArrayList

底层实现

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

特性

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

初始化方法

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

扩容

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

遍历方式

  • for-each(本质上是使用迭代器)
java 复制代码
for(String s : list)
  • for循环
  • 迭代器(单线程下遍历时修改不会引起异常)
java 复制代码
Iterator(String) it = list.iterator();
while(it.hasnext()) {
print(it.next);
}
相关推荐
元亓亓亓2 分钟前
SSM--day4--SpringMVC(补充)
java·后端·ssm
UrbanJazzerati1 小时前
一文看懂指数函数:基础与性质
面试
沐雨橙风ιε1 小时前
Spring Boot整合Apache Shiro权限认证框架(应用篇)
java·spring boot·后端·apache shiro
十重幻想1 小时前
PTA6-5 使用函数求1到10的阶乘和(C)
java·c语言·算法
考虑考虑1 小时前
fastjson调用is方法开头注意
java·后端·java ee
小蒜学长1 小时前
springboot基于javaweb的小零食销售系统的设计与实现(代码+数据库+LW)
java·开发语言·数据库·spring boot·后端
TT哇1 小时前
【多线程-进阶】常⻅的锁策略
java
crystal_pin2 小时前
前端多端适配与Electron思路
面试
EnCi Zheng2 小时前
JPA 连接 PostgreSQL 数据库完全指南
java·数据库·spring boot·后端·postgresql
tuokuac3 小时前
MVC的含义
java·mvc