用Java迭代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


使用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


逐个循环

我们还可以通过f-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