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ánhIndexOutOfBoundsException - 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();