# Java - `LinkedList ListIterator`

> 原文： [https://beginnersbook.com/2014/07/java-linkedlist-listiterator-example/](https://beginnersbook.com/2014/07/java-linkedlist-listiterator-example/)

在这个例子中，我们将看到[如何使用](https://beginnersbook.com/2013/12/how-to-loop-linkedlist-in-java/)[`ListIterator`](https://beginnersbook.com/2014/06/listiterator-in-java-with-examples/)迭代`LinkedList`。使用`Listterator`，我们可以在两个方向（向前和向后）迭代列表。除了遍历之外，我们还可以在迭代期间修改列表，并获取迭代器在列表中的当前位置。在[`ListIterator` javadoc](https://docs.oracle.com/javase/7/docs/api/java/util/ListIterator.html) 上阅读更多相关信息。

#### 示例

这里我们有一个链接的字符串列表，我们使用`ListIterator`在两个方向上遍历它。

```java
import java.util.LinkedList;
import java.util.ListIterator;
public class ListIteratorExample {

 public static void main(String[] args) {

    // Create a LinkedList
    LinkedList<String> linkedlist = new LinkedList<String>();

    // Add elements to LinkedList
    linkedlist.add("Delhi");
    linkedlist.add("Agra");
    linkedlist.add("Mysore");
    linkedlist.add("Chennai");
    linkedlist.add("Pune");

    // Obtaining ListIterator
    ListIterator listIt = linkedlist.listIterator();

    // Iterating the list in forward direction
    System.out.println("Forward iteration:");
    while(listIt.hasNext()){
       System.out.println(listIt.next());
    }

    // Iterating the list in backward direction
    System.out.println("\nBackward iteration:");
    while(listIt.hasPrevious()){
       System.out.println(listIt.previous());
    } 
 }
}
```

**输出：**

```java
Forward iteration:
Delhi
Agra
Mysore
Chennai
Pune

Backward iteration:
Pune
Chennai
Mysore
Agra
Delhi
```