面试准备 集合 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);
}
相关推荐
神仙别闹3 分钟前
基于C#实现的(WinForm)模拟操作系统文件管理系统
java·git·ffmpeg
小爬虫程序猿4 分钟前
利用Java爬虫速卖通按关键字搜索AliExpress商品
java·开发语言·爬虫
组合缺一9 分钟前
Solon v3.0.5 发布!(Spring 可以退休了吗?)
java·后端·spring·solon
程序猿零零漆11 分钟前
SpringCloud 系列教程:微服务的未来(二)Mybatis-Plus的条件构造器、自定义SQL、Service接口基本用法
java·spring cloud·mybatis-plus
猿来入此小猿13 分钟前
基于SpringBoot在线音乐系统平台功能实现十二
java·spring boot·后端·毕业设计·音乐系统·音乐平台·毕业源码
愤怒的代码27 分钟前
Spring Boot对访问密钥加解密——HMAC-SHA256
java·spring boot·后端
带多刺的玫瑰27 分钟前
Leecode刷题C语言之切蛋糕的最小总开销①
java·数据结构·算法
栗豆包43 分钟前
w118共享汽车管理系统
java·spring boot·后端·spring·tomcat·maven
夜半被帅醒1 小时前
MySQL 数据库优化详解【Java数据库调优】
java·数据库·mysql