在Java中, List
接口是一个有序的集合,它使我们能够顺序存储和访问元素。它扩展了Collection
接口。
实现列表的类
由于List
是一个接口,因此我们无法从中创建对象。
为了使用List
接口的功能,我们可以使用以下类:
- 数组列表
- 链表
- 向量
- 叠放
这些类在Collections框架中定义,并实现List
接口。
如何使用清单?
在Java中,必须导入java.util.List
包才能使用List
。
// ArrayList implementation of List
List list1 = new ArrayList<>();
// LinkedList implementation of List
List list2 = new LinkedList<>();
在这里,我们创建了ArrayList
和LinkedList
类的对象list1和list2 。这些对象可以使用List
接口的功能。
清单方法
List
接口包括Collection
接口的所有方法。这是因为Collection
是List
的超级接口。
List
接口中还提供了Collection
接口的一些常用方法:
-
add()
-将元素添加到列表 -
addAll()
-将一个列表的所有元素添加到另一个 -
get()
-帮助随机访问列表中的元素 -
iterator()
-返回迭代器对象,该对象可用于顺序访问列表的元素 -
set()
-更改列表的元素 -
remove()
-从列表中删除一个元素 -
removeAll()
-从列表中删除所有元素 -
clear()
-从列表中删除所有元素(比removeAll()
更有效) -
size()
-返回列表的长度 -
toArray()
-将列表转换为数组 -
contains()
-如果列表包含指定的元素,则返回true
列表接口的实现
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 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 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
接口都继承了Collection
接口。但是,它们之间存在一些差异。
- 列表可以包含重复的元素。但是,集合不能有重复的元素。
- 列表中的元素以某种顺序存储。但是,集合中的元素像数学中的集合一样按组存储。
现在我们知道List
是什么了,我们将在接下来的教程中在ArrayList
和LinkedList
类中详细了解它的实现。