Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Lấy phần tử đầu và cuối của ArrayList trong Java

ArrayList hỗ trợ truy cập ngẫu nhiên O(1) qua phương thức get(index). Phần tử đầu là index 0, phần tử cuối là size() - 1.

Ví dụ cơ bản


import java.util.ArrayList;

public class FirstLastDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("JavaFX");
        list.add("Java");
        list.add("Spring");
        list.add("Hibernate");
        list.add("Maven");
        
        System.out.println("Danh sách: " + list);
        System.out.println("Phần tử đầu: " + list.get(0));
        System.out.println("Phần tử cuối: " + list.get(list.size() - 1));
    }
}

Kết quả


Danh sách: [JavaFX, Java, Spring, Hibernate, Maven]
Phần tử đầu: JavaFX
Phần tử cuối: Maven

Ứng dụng: Tìm Min/Max của ArrayList số

Sắp xếp rồi lấy đầu/cuối:


import java.util.*;

ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1001, 2015, 4566, 90012, 100, 21, 43));
Collections.sort(numbers);
System.out.println("Min: " + numbers.get(0));           // 21
System.out.println("Max: " + numbers.get(numbers.size()-1)); // 90012

⚠️ Cảnh báo

  • Kiểm tra !list.isEmpty() trước khi get() để tránh IndexOutOfBoundsException
  • Sắp xếp làm thay đổi thứ tự gốc – hãy copy list nếu cần giữ nguyên
  • Để tìm min/max không sắp xếp: dùng Collections.min()/max() hoặc Stream API

Java 8+ Stream (khuyên dùng)


OptionalInt min = list.stream().mapToInt(Integer::intValue).min();
OptionalInt max = list.stream().mapToInt(Integer::intValue).max();