在 Java 中,List 接口是一个有序的集合,它允许我们按顺序存储和访问元素。它扩展了 Collection 接口。
实现 List 的类
由于 List 是一个接口,我们无法直接从中创建对象。
为了使用 List 接口的功能,我们可以使用这些类
这些类定义在 集合框架 中,并实现了 List 接口。
如何使用 List?
在 Java 中,我们必须导入 java.util.List 包才能使用 List。
// ArrayList implementation of List
List<String> list1 = new ArrayList<>();
// LinkedList implementation of List
List<String> list2 = new LinkedList<>();
在这里,我们创建了 ArrayList 和 LinkedList 类的对象 list1 和 list2。这些对象可以使用 List 接口的功能。
List 的方法
List 接口包含了 Collection 接口的所有方法。这是因为 Collection 是 List 的父接口。
Collection 接口的一些常用方法(也包含在 List 接口中)是
| 方法 | 描述 |
|---|---|
| add() | 向列表中添加一个元素 |
| addAll() | 将一个列表的所有元素添加到另一个列表中 |
| get() | 帮助从列表中随机访问元素 |
| iterator() | 返回一个 迭代器 对象,可用于顺序访问列表中的元素 |
| set() | 更改列表中的元素 |
| remove() | 从列表中移除一个元素 |
| removeAll() | 移除列表中的所有元素 |
| clear() | 移除列表中的所有元素(比 removeAll() 更高效) |
| size() | 返回列表的长度 |
| toArray() | 将列表转换为数组 |
| contains() | 如果列表包含指定元素,则返回 true |
List 接口的实现
1. 实现 ArrayList 类
import java.util.List;
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// Creating list using the ArrayList class
List<Integer> numbers = new ArrayList<>();
// Add elements to the list
numbers.add(1);
numbers.add(2);
numbers.add(3);
System.out.println("List: " + numbers);
// Access element from the list
int number = numbers.get(2);
System.out.println("Accessed Element: " + number);
// Remove element from the list
int removedNumber = numbers.remove(1);
System.out.println("Removed Element: " + removedNumber);
}
}
输出
List: [1, 2, 3] Accessed Element: 3 Removed Element: 2
要了解更多关于 ArrayList 的信息,请访问 Java ArrayList。
2. 实现 LinkedList 类
import java.util.List;
import java.util.LinkedList;
class Main {
public static void main(String[] args) {
// Creating list using the LinkedList class
List<Integer> numbers = new LinkedList<>();
// Add elements to the list
numbers.add(1);
numbers.add(2);
numbers.add(3);
System.out.println("List: " + numbers);
// Access element from the list
int number = numbers.get(2);
System.out.println("Accessed Element: " + number);
// Using the indexOf() method
int index = numbers.indexOf(2);
System.out.println("Position of 3 is " + index);
// Remove element from the list
int removedNumber = numbers.remove(1);
System.out.println("Removed Element: " + removedNumber);
}
}
输出
List: [1, 2, 3] Accessed Element: 3 Position of 3 is 1 Removed Element: 2
要了解更多关于 LinkedList 的信息,请访问 Java LinkedList。
Java List 与 Set
List 接口和 Set 接口 都继承自 Collection 接口。但是,它们之间存在一些区别。
- 列表可以包含重复元素。但是,集合不能包含重复元素。
- 列表中的元素按某种顺序存储。但是,集合中的元素按组存储,类似于数学中的集合。
现在我们知道了 List 是什么,在接下来的教程中我们将详细介绍它在 ArrayList 和 LinkedList 类中的实现。
另请阅读