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

โปรแกรม Java เข้าถึงสมาชิกใน LinkedList ด้วยดัชนี


บทนำ

ในบทความนี้ เราจะเรียนรู้วิธีการเข้าถึงสมาชิก (Access elements) จาก LinkedList คลาส java.util.LinkedList ทำงานแบบ doubly-linked list การดำเนินการที่เข้าถึงด้วยดัชนีจะเดินทางผ่านลิสต์จากจุดเริ่มต้นหรือจุดสิ้นสุด ขึ้นอยู่กับจุดใดที่ใกล้กว่าดัชนีที่ระบุ

ตัวอย่างการทำงาน

อินพุทตัวอย่าง:

Input list: [Python, Java, Scala, Java, JavaScript]

เอาต์พุทที่คาดหวัง:

The element at index 3 is: Java

อัลกอริทึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศ linked list ชื่อ input_list
ขั้นตอนที่ 3 - กำหนดค่า
ขั้นตอนที่ 4 - ใช้ฟังก์ชันสำเร็จรูป get() เข้าถึงสมาชิกเฉพาะตัวโดยส่งค่าดัชนี (index) เข้าไป
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - จบการทำงาน

ตัวอย่างที่ 1: เขียนในฟังก์ชัน main โดยตรง

import java.util.LinkedList;

public class Demo {
    public static void main(String[] args) {
        LinkedList input_list = new LinkedList<>();
        input_list.add("Python");
        input_list.add("Java");
        input_list.add("Scala");
        input_list.add("Java");
        input_list.add("JavaScript");
        System.out.println("The list is defined as: " + input_list);
        String result_string = input_list.get(3);
        System.out.print("The element at index 3 is: " + result_string);
    }
}

เอาต์พุท

The list is defined as: [Python, Java, Scala, Java, JavaScript]
The element at index 3 is: Java

ตัวอย่างที่ 2: ใช้เมธอดแยก (Object-Oriented Style)

import java.util.LinkedList;

public class Demo {
    static void get_element(LinkedList input_list, int index) {
        String result_string = input_list.get(index);
        System.out.print("The element at index 3 is: " + result_string);
    }
    
    public static void main(String[] args) {
        LinkedList input_list = new LinkedList<>();
        input_list.add("Python");
        input_list.add("Java");
        input_list.add("Scala");
        input_list.add("Java");
        input_list.add("JavaScript");
        System.out.println("The list is defined as: " + input_list);
        int index = 3;
        get_element(input_list, index);
    }
}

เอาต์พุท

The list is defined as: [Python, Java, Scala, Java, JavaScript]
The element at index 3 is: Java

หมายเหตุ: LinkedList.get(index) มี time complexity O(n) เนื่องต้องเดินทางจากหัวหรือท้ายลิสต์ จึงช้ากว่า ArrayList.get(index) ที่เป็น O(1)