Java List

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


实现 List 的类

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

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

Classes implementing the List interface in Java

这些类定义在 集合框架 中,并实现了 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<>();

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


List 的方法

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

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 是什么,在接下来的教程中我们将详细介绍它在 ArrayListLinkedList 类中的实现。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战