Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

มีกี่วิธีในการวนซ้ำ LinkedList ใน Java?


A LinkedList เป็นโครงสร้างข้อมูลที่มี กลุ่มของโหนด เชื่อมต่อตามลำดับด้วยตัวชี้ LinkedList สามารถทำหน้าที่เป็น ไดนามิกอาร์เรย์ และจัดสรรพื้นที่สำหรับแต่ละองค์ประกอบแยกกันในบล็อกหน่วยความจำของตัวเองที่เรียกว่า โหนด . แต่ละโหนดมีสองฟิลด์ คือ "ข้อมูล " เพื่อจัดเก็บประเภทองค์ประกอบที่รายการถือและ "ถัดไป " ซึ่งเป็นตัวชี้ที่ใช้เชื่อมโยง โหนดหนึ่งไปยังโหนดถัดไป .

เราสามารถทำซ้ำองค์ประกอบของ LinkedList ได้ สามวิธี ใน Java

การใช้ตัววนซ้ำ

เราสามารถทำซ้ำองค์ประกอบของ LinkedList ผ่าน Iterator ชั้นเรียน

ตัวอย่าง

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

เราสามารถทำซ้ำองค์ประกอบของ LinkedList ผ่าน ListIterator ชั้นเรียน

ตัวอย่าง

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 loop

เรายังสามารถทำซ้ำองค์ประกอบของ LinkedList ผ่าน f หรือ-แต่ละวง .

ตัวอย่าง

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