Java List 接口:概览、实现类与关键方法
Java List 接口
探索 Java List 接口 —— 目的、常见实现、核心方法及与 Set 的区别。
Java 中 List 接口表示有序、基于索引的集合,支持重复和随机访问。它扩展 Collection 属于集合框架一部分。
List 关键实现
因 List 为接口,需实例化具体类使用功能:
- ArrayList —— 动态数组底层,提供快速随机访问。
- LinkedList —— 双向链表实现,擅长插入/删除。
- Vector —— 遗留同步列表,现代代码少用。
- Stack —— Vector 子类,遵循 LIFO 语义。

这些类定义在 java.util 包中。
代码中使用 List
先导入 java.util.List(及所需具体类)。
// ArrayList 实现 List<String> arrayList = new ArrayList<>(); // LinkedList 实现 List<String> linkedList = new LinkedList<>();
变量 arrayList 和 linkedList 现暴露所有 List 方法。
List 核心方法
以下方法均从 Collection 继承,每个 List 实现均可用。
add(E e)—— 追加元素。addAll(Collection<? extends E> c)—— 批量添加。get(int index)—— 按索引获取。iterator()—— 顺序遍历。set(int index, E element)—— 替换元素。remove(Object o)—— 按值删除。removeAll(Collection<? extends E> c)—— 批量移除。clear()—— 清空列表。size()—— 元素数量。toArray()—— 转数组。contains(Object o)—— 测试成员资格。
ArrayList 实战
import java.util.List; import java.util.ArrayList; public class ArrayListDemo { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); int third = numbers.get(2); System.out.println("Accessed Element: " + third); int removed = numbers.remove(1); System.out.println("Removed Element: " + removed); } }
输出
List: [1, 2, 3] Accessed Element: 3 Removed Element: 2
深入了解 ArrayList 请参考 Oracle 官方文档。
LinkedList 实战
import java.util.List; import java.util.LinkedList; public class LinkedListDemo { public static void main(String[] args) { List<Integer> numbers = new LinkedList<>(); numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); int third = numbers.get(2); System.out.println("Accessed Element: " + third); int index = numbers.indexOf(2); System.out.println("Position of 2 is " + index); int removed = numbers.remove(1); System.out.println("Removed Element: " + removed); } }
输出
List: [1, 2, 3] Accessed Element: 3 Position of 2 is 1 Removed Element: 2
LinkedList 更多细节见 Java Tutorials。
List 与 Set 对比
两接口均扩展 Collection 但关键方面不同:
- List 保持插入顺序并允许重复。
- Set 强制唯一且通常无定义顺序(除非用
SortedSet)。
选择取决于顺序和重复是否对用例重要。
后续教程继续探索具体实现。
java
- 精通 Java 运算符:类型、语法与实战示例
- Java 注释:类型、用法与最佳实践
- 精通 Java 增强 for 循环:语法、示例与最佳实践
- 精通 Java 字符串:创建、方法与最佳实践
- 精通 Java 接口:概念、实现与最佳实践
- 精通 Java Try-With-Resources:自动资源管理详解
- Java 注解详解:类型、放置位置与实战示例
- 掌握 Java 集合算法:排序、打乱、搜索与更多实用操作
- 掌握 Java 自动装箱与拆箱:实战示例与最佳实践
- Java 生成随机数实战:Random 与 Math.random 详解
- Java 10 新增 70+ API 与特性详解
- Java 9 集合工厂方法:一行代码创建不可变 List/Set/Map