English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java Ausnahmebehandlung

Java 列表(List)

Java Queue(队列)

Java Map 集合

Java Set 集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java List (Liste)

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

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

实现 List 的类

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

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

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

如何使用 List?

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

//List 的 ArrayList 实现
List<String> list1 new ArrayList<>();
// List 的 LinkedList 实现
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) {
        //使用ArrayList类创建列表
        List<Integer> numbers = new ArrayList<>();
        //将元素添加到列表
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("List: " + numbers);
        //从列表中访问元素
        int number = numbers.get(2);
        System.out.println("访问元素: " + number);
        //从列表中删除元素
        int removedNumber = numbers.remove(1);
        System.out.println("Element entfernen: " + removedNumber);
    }
}

Ausgabeergebnis

List: [1, 2, 3]
Element zugreifen: 3
Element entfernen: 2

要了解更多信息ArrayList,请访问Java ArrayList.

2.实现LinkedList类

import java.util.List;
import java.util.LinkedList;
class Main {
    public static void main(String[] args) {
        //使用LinkedList类创建列表
        List<Integer> numbers = new LinkedList<>();
        //将元素添加到列表
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("List: " + numbers);
        //从列表中访问元素
        int number = numbers.get(2);
        System.out.println("访问元素: " + number);
        //使用indexOf()方法
        int index = numbers.indexOf(2);
        System.out.println("位置3的元素是 " + index);
        //从列表中删除元素
        int removedNumber = numbers.remove(1);
        System.out.println("Element entfernen: " + removedNumber);
    }
}

Ausgabeergebnis

List: [1, 2, 3]
Element zugreifen: 3
Position3Das Element ist 1
Element entfernen: 2

Für weitere Informationen über LinkedList besuchen SieJava LinkedList.

Java List und Set

Die List- und Set-Schnittstellen erben beide von der Collection-Schnittstelle. Allerdings gibt es zwischen ihnen einige Unterschiede.

  • Eine List kann wiederholte Elemente enthalten. Eine Set kann jedoch keine wiederholten Elemente haben.

  • Die Elemente in einer List werden in einer bestimmten Reihenfolge gespeichert. Allerdings werden die Elemente in einer Set als Gruppe gespeichert, ähnlich wie in der Mathematik eine Menge.

Jetzt wissen wir, was ein List ist, wir werden in den nächsten Tutorials die Implementierung der ArrayList- und LinkedList-Klassen im Detail beschreiben.