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

โปรแกรม Java เริ่มต้นสร้าง List

การเริ่มต้น (Initialize) List ใน Java

List เป็นอินเทอร์เฟซ ต้องใช้คลาสที่ implement เช่น ArrayList, LinkedList, Vector คลาสยอดนิยมคือ ArrayList (อาร์เรย์ไดนามิก)

วิธีการเริ่มต้นต่างๆ

1. สร้างเปล่า แล้ว add() ทีละตัว

List integerList = new ArrayList<>();
integerList.add(25);
integerList.add(60);

List stringList = new ArrayList<>();
stringList.add("Java");
stringList.add("Program");

2. ใช้ Arrays.asList() (Fixed-size)

List list = Arrays.asList("Java", "Program", "Python");
// ไม่สามารถ add/remove ได้ (UnsupportedOperationException)

3. ใช้ List.of() (Java 9+) - Immutable

List immutableList = List.of("Java", "Program", "Python");
// ไม่สามารถแก้ไขได้เลย

4. ใช้ Stream (Java 8+)

List list = Stream.of(25, 60, 75).collect(Collectors.toList());

5. Double Brace Initialization (ไม่แนะนำ)

List list = new ArrayList<>() {{
    add("Java");
    add("Program");
}};
// สร้าง anonymous class - ใช้หน่วยความจำมาก อาจทำให้ memory leak

ตัวอย่างโค้ดสมบูรณ์

import java.util.*;

public class Demo {
    public static void main(String[] args) {
        System.out.println("=== เริ่มต้น Integer List ===");
        List integerList = new ArrayList<>();
        integerList.add(25);
        integerList.add(60);
        System.out.println("องค์ประกอบ: " + integerList);
        
        System.out.println("\n=== เริ่มต้น String List ===");
        List stringList = new ArrayList<>();
        stringList.add("Java");
        stringList.add("Program");
        System.out.println("องค์ประกอบ: " + stringList);
        
        System.out.println("\n=== ใช้ List.of() (Java 9+) ===");
        List modernList = List.of("Java", "Python", "Go");
        System.out.println("Immutable List: " + modernList);
    }
}

ผลลัพธ์

=== เริ่มต้น Integer List ===
องค์ประกอบ: [25, 60]

=== เริ่มต้น String List ===
องค์ประกอบ: [Java, Program]

=== ใช้ List.of() (Java 9+) ===
Immutable List: [Java, Python, Go]

ตัวอย่างแบบ OOP (Encapsulation)

import java.util.*;

public class Demo {
    static void initializeIntList() {
        List list = new ArrayList<>();
        list.add(25);
        list.add(60);
        System.out.println("Integer List: " + list);
    }
    
    static void initializeStringList() {
        List list = new ArrayList<>();
        list.add("Java");
        list.add("Program");
        System.out.println("String List: " + list);
    }
    
    public static void main(String[] args) {
        System.out.println("Required packages imported");
        initializeIntList();
        initializeStringList();
    }
}

การเลือกใช้

สถานการณ์ วิธีที่แนะนำ
เพิ่ม/ลบข้อมูลบ่อย new ArrayList<>() + add()
ข้อมูลคงที่ ไม่เปลี่ยนแปลง List.of() (Java 9+)
ต้องสร้างจากอาร์เรย์มีอยู่ Arrays.asList() แล้ว wrap ด้วย new ArrayList()
แปลงจาก Stream .collect(Collectors.toList())