Java List 集合
Java 集合框架是由 Doug Lea 在1997年发布的,其定义了一系列接口和类,允许开发人员表示和操作集合数据结构(如列表、映射和集),以便更高效地处理和存储数据。
Java 的 List 类型集合是指位于 java.util 包下的 List 接口,主要分类有两种,分别是 ArrayList
和 LinkedList
两个类。
数组与集合的区别:
- 数组只能存储单一类型的数据,而集合可以存储多种类型的数据
- 数组的长度是固定的,而集合的长度是可变的
- 数组的存储操作比较复杂,而集合的存储操作比较简单
- 数组不支持一些高级的操作,比如排序、查找等,而集合支持
- 数组只能存储对象,而集合可以存储对象和基本数据类型
Q:那么数组和集合都有哪些使用场景?—— 集合的实现原理就是依赖于数组,它是对数组操作繁琐的一层封装,一般工作中大家直接用集合会更方便。
List 集合是 Java 中的一种数据结构,它是一个有序的集合,允许存储重复的元素。List 集合的特点是可以按照索引来存储和访问元素,索引从 0 开始,而且可以根据需要随时增加和删除元素。List 集合支持在列表中插入指定元素、查找指定元素索引、删除指定元素、替换指定元素等操作。
示例:
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
// 创建一个List集合
List<String> list = new ArrayList<>();
// 添加元素
list.add("Hello");
list.add("World");
list.add("!");
// 输出List集合中的元素
System.out.println("List集合中的元素: ");
for (String str : list) {
System.out.println(str);
}
}
}
如果使用数组添加元素,需要指定不同的下标索引进行添加:
String[] strs = new String[3];
strs[0] = "item0";
strs[1] = "item1";
strs[2] = "item2";
另外,使用数组管理元素的时候,其容量空间必须从一开始就控制好大小,假设我的数组容量为3,那么只能存储3个元素,倘若后期想再往数组里面添加新的元素,是会抛出 java.lang.ArrayIndexOutOfBoundsException
类型异常的。
而使用 List 集合进行元素添加操作的时候,其内部会有自动扩容机制,这样我们就不需要去关心它内部的空间是否有限的问题了。
Q:List 容量受限于什么?