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

โปรแกรม Java ดึงสมาชิกตัวแรกและตัวสุดท้ายจาก ArrayList


บทนำ

ในบทความนี้ เราจะเรียนรู้วิธีการดึงสมาชิกตัวแรก (First) และตัวสุดท้าย (Last) จาก ArrayList ลิสต์ (List) เป็นคอลเลกชันที่มีลำดับ ช่วยให้จัดเก็บและเข้าถึงสมาชิกแบบลำดับได้ มีเมธอดแบบดัชนีสำหรับแทรก อัปเดต ลบ และค้นหา สามารถมีสมาชิกซ้ำได้

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

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

Input list: [40, 60, 150, 300]

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

The first element is : 40
The last element is : 300

อัลกอริทึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศ ArrayList ชื่อ input_list
ขั้นตอนที่ 3 - กำหนดค่า
ขั้นตอนที่ 4 - ตรวจสอบว่าลิสต์ไม่ว่าง ใช้ .get(0) และ .get(list.size() - 1) ดึงสมาชิกตัวแรกและตัวสุดท้าย
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - จบการทำงาน

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

import java.util.ArrayList;

public class Demo {
    public static void main(String[] args) {
        ArrayList input_list = new ArrayList(5);
        input_list.add(40);
        input_list.add(60);
        input_list.add(150);
        input_list.add(300);
        System.out.print("The list is defined as: " + input_list);
        int first_element = input_list.get(0);
        int last_element = input_list.get(input_list.size() - 1);
        System.out.println("\nThe first element is : " + first_element);
        System.out.println("The last element is : " + last_element);
    }
}

เอาต์พุท

The list is defined as: [40, 60, 150, 300]
The first element is : 40
The last element is : 300

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

import java.util.ArrayList;

public class Demo {
    static void first_last(ArrayList input_list) {
        int first_element = input_list.get(0);
        int last_element = input_list.get(input_list.size() - 1);
        System.out.println("\nThe first element is : " + first_element);
        System.out.println("The last element is : " + last_element);
    }
    
    public static void main(String[] args) {
        ArrayList input_list = new ArrayList(5);
        input_list.add(40);
        input_list.add(60);
        input_list.add(150);
        input_list.add(300);
        System.out.print("The list is defined as: " + input_list);
        first_last(input_list);
    }
}

เอาต์พุท

The list is defined as: [40, 60, 150, 300]
The first element is : 40
The last element is : 300

วิธีอื่นๆ (Java 8+):

// ใช้ Stream API
input_list.stream().findFirst().ifPresent(System.out::println); // ตัวแรก
input_list.stream().reduce((first, last) -> last).ifPresent(System.out::println); // ตัวสุดท้าย

// หรือใช้ ListIterator
ListIterator it = input_list.listIterator();
if (it.hasNext()) System.out.println("First: " + it.next());
it = input_list.listIterator(input_list.size());
if (it.hasPrevious()) System.out.println("Last: " + it.previous());

คำเตือน: ต้องตรวจสอบ !list.isEmpty() ก่อนเรียก get() ไม่งั้นจะเกิด IndexOutOfBoundsException