📜  Java列表

📅  最后修改于: 2020-09-26 15:01:47             🧑  作者: Mango

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

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


实现列表的类

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

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

  • 数组列表
  • 链表
  • 向量
  • 叠放

Classes implementing the List interface in Java

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


如何使用清单?

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

// ArrayList implementation of List
List list1 = new ArrayList<>();

// LinkedList implementation of List
List list2 = new LinkedList<>();

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


清单方法

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

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