原文: https://www.programiz.com/java-programming/list

在本教程中,我们将学习 Java 中的List接口及其方法。

在 Java 中,List接口是一个有序的集合,它使我们能够顺序存储和访问元素。 它扩展了Collection接口。


实现列表的类

由于List是一个接口,因此我们无法从中创建对象。

为了使用List接口的功能,我们可以使用以下类:

Java `List`接口 - 图1

这些类在集合框架中定义,并实现List接口。


如何使用列表?

在 Java 中,必须导入java.util.List包才能使用List

  1. // ArrayList implementation of List
  2. List<String> list1 = new ArrayList<>();
  3. // LinkedList implementation of List
  4. List<String> list2 = new LinkedList<>();

在这里,我们创建了ArrayListLinkedList类的对象list1list2。 这些对象可以使用List接口的功能。


列表方法

List接口包含Collection接口的所有方法。 这是因为CollectionList的超级接口。

List接口中还提供了Collection接口的一些常用方法:

  • add() - 将元素添加到列表
  • addAll() - 将一个列表的所有元素添加到另一个
  • get() - 帮助从列表中随机访问元素
  • iterator() - 返回可用于顺序访问列表元素的迭代器对象
  • set() - 更改列表元素
  • remove() - 从列表中删除一个元素
  • removeAll() - 从列表中删除所有元素
  • clear() - 从列表中删除所有元素(比removeAll()更有效)
  • size() - 返回列表的长度
  • toArray() - 将列表转换为数组
  • contains() - 如果列表包含指定的元素,则返回true

List接口的实现

1.ArrayList实现类

  1. import java.util.List;
  2. import java.util.ArrayList;
  3. class Main {
  4. public static void main(String[] args) {
  5. // Creating list using the ArrayList class
  6. List<Integer> numbers = new ArrayList<>();
  7. // Add elements to the list
  8. numbers.add(1);
  9. numbers.add(2);
  10. numbers.add(3);
  11. System.out.println("List: " + numbers);
  12. // Access element from the list
  13. int number = numbers.get(2);
  14. System.out.println("Accessed Element: " + number);
  15. // Remove element from the list
  16. int removedNumber = numbers.remove(1);
  17. System.out.println("Removed Element: " + removedNumber);
  18. }
  19. }

输出

  1. List: [1, 2, 3]
  2. Accessed Element: 3
  3. Removed Element: 2

要了解有关ArrayList的更多信息,请访问 Java ArrayList

2.LinkedList实现类

  1. import java.util.List;
  2. import java.util.LinkedList;
  3. class Main {
  4. public static void main(String[] args) {
  5. // Creating list using the LinkedList class
  6. List<Integer> numbers = new LinkedList<>();
  7. // Add elements to the list
  8. numbers.add(1);
  9. numbers.add(2);
  10. numbers.add(3);
  11. System.out.println("List: " + numbers);
  12. // Access element from the list
  13. int number = numbers.get(2);
  14. System.out.println("Accessed Element: " + number);
  15. // Using the indexOf() method
  16. int index = numbers.indexOf(2);
  17. System.out.println("Position of 3 is " + index);
  18. // Remove element from the list
  19. int removedNumber = numbers.remove(1);
  20. System.out.println("Removed Element: " + removedNumber);
  21. }
  22. }

输出

  1. List: [1, 2, 3]
  2. Accessed Element: 3
  3. Position of 3 is 1
  4. Removed Element: 2

要了解有关LinkedList的更多信息,请访问 Java LinkedList


Java 列表与集合

List接口和Set接口都继承Collection接口。 但是,它们之间存在一些差异。

  • 列表可以包含重复的元素。 但是,集合不能有重复的元素。
  • 列表中的元素以某种顺序存储。 但是,集合中的元素像数学中的集合一样按组存储。

既然我们知道了List是什么,我们将在下一个教程中详细了解ArrayListLinkedList类中的实现。