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

วิธีวนลูป (Iterate) LinkedList ใน Java ทั้งหมดกี่วิธี

LinkedList โครงสร้างข้อมูลมี โหนด (nodes) เชื่อมต่อแบบลำดับด้วย pointer เป็น Dynamic array จัดสรรหน่วยความจำแยกต่อโหนด แต่ละโหนดมี 2 ฟิลด์: data (เก็บข้อมูล) และ next (ชี้ไปโหนดถัดไป) วนลูป LinkedList ได้ 3 วิธี

1. ใช้ Iterator

วนลูปผ่านอินเตอร์เฟซ 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<String> it = list.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}
Kohli
Morgan
Williamson
Smith
Kohli

2. ใช้ ListIterator

วนลูปผ่าน 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

3. ใช้ For-each Loop

วนลูปแบบ Enhanced for loop (สะดวกที่สุด)

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

แนะนำ: For-each สะดวกที่สุด ListIterator เมื่อต้องการนำทางย้อนกลับหรือแก้ไขระหว่างวนลูป