# Java 初学者`List`集合教程

> 原文： [https://javabeginnerstutorial.com/core-java-tutorial/list-collection-tutorial-for-java-beginners/](https://javabeginnerstutorial.com/core-java-tutorial/list-collection-tutorial-for-java-beginners/)

在这里，我们将详细了解`List`接口及其不同实现。 `java.util`包中的列表接口是`java.util.Collection`接口的子类型。

## `List`接口要点

1.  它是`java.util`包的一部分。
2.  它是`java.util.Collection`接口的子类型。
3.  列表是**有序集合**。 意味着可以按有序方式（按索引）访问`List`的元素。
4.  允许重复值。
5.  允许为`NULL`值。
6.  `List`有一个名为`ListIterator`的特殊迭代器。 这将有助于双向遍历列表。
7.  `List`可以完全控制每个元素的插入位置。

## `List`接口可用的操作

*   位置访问
*   搜索
*   迭代
*   范围视图

## `List`接口的具体实现

*   `java.util.ArrayList`
*   `java.util.LinkedList`
*   `java.util.Vector`
*   `java.util.Stack`

## 创建列表实例

```java
List listA = new ArrayList();
```

```java
List listB = new LinkedList();
```

```java
List listC = new Vector();
```

```java
List listD = new Stack();
```

## 在列表中添加元素

```java
List listA = new ArrayList();
```

```java
listA.add("element 1");
```

```java
listA.add("element 2");
```

```java
listA.add("element 3");
```

```java
listA.add(0, "element 0");
```

## 访问元素

**语法**：`E set(int index, E element);`

**用途**：用于返回指定位置的元素

**返回**：返回给定列表中指定位置的元素。

## 替换元素

**语法**：`E set(int index, E element);`

**用途**：用于替换列表中指定位置的元素。

**返回**：返回替换的元素。

## 性能要点

*   列表接口具有搜索对象的方法。 但是不应使用相同的方法，因为它会降低性能，因为在某些实现中它将使用线性搜索。
*   列表可以包含另一个列表作为元素，但是`HashCode`和`Equals`不适用于这些列表，因此不应使用相同的列表。