Java 中迭代 LinkedList 的方法有多少种?


一个LinkedList是一个数据结构,它包含一个节点组,这些节点以顺序方式通过指针连接。一个LinkedList可以表现得像一个动态数组,它为每个元素分别分配空间在其自己的内存块中,称为节点。每个节点包含两个字段,一个“数据”字段用于存储列表持有的元素类型,以及一个“下一个”字段,它是一个指针,用于将一个节点链接到下一个节点

我们可以在 Java 中以三种方式迭代 LinkedList 的元素。

使用迭代器

我们可以通过Iterator类迭代 LinkedList 的元素。

示例

import java.util.*;
public class LinkedListIteratorTest {
   public static void main(String[] args) {
      List<String> list = new LinkedList<>();
      list.add("Kohli");
      list.add("Morgan");
      list.add("Williamson");
      list.add("Smith");
      list.add("Kohli");
      Iterator it = list.iterator();
      while(it.hasNext()) {
         System.out.println(it.next());
      }
   }
}

输出

Kohli
Morgan
Williamson
Smith
Kohli


Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

使用 ListIterator

我们可以通过ListIterator类迭代 LinkedList 的元素。

示例

import java.util.*;
public class LinkedListWithListIteratorTest {
   public static void main(String[] args) {
      List<String> list = new LinkedList<>();
      list.add("Kohli");
      list.add("Morgan");
      list.add("Williamson");
      list.add("Smith");
      list.add("Kohli");
      ListIterator<String> li = list.listIterator();
      while(li.hasNext()) {
         System.out.println(li.next());
      }
   }
}

输出

Kohli
Morgan
Williamson
Smith
Kohli


使用 For-each 循环

我们还可以通过for-each 循环迭代 LinkedList 的元素。

示例

import java.util.*;
public class LinkedListForEachTest {
   public static void main(String[] args) {
      List<String> list = new LinkedList<>();
      list.add("Kohli");
      list.add("Morgan");
      list.add("Williamson");
      list.add("Smith");
      list.add("Kohli");
      for(String str : list) {
         System.out.println(str);
      }
   }
}

输出

Kohli
Morgan
Williamson
Smith
Kohli

更新于: 2020年7月3日

282 次查看

启动你的 职业生涯

通过完成课程获得认证

开始
广告