Java Collections Framework: Làm Quen Mảng Cố Định Với ArrayList

Trong các bài học trước, bạn đã quen thuộc với mảng một chiều (Array) để quản lý danh sách dữ liệu. Mặc dù mảng rất hiệu quả nhưng nó có một nhược điểm lớn: kích thước cố định. Khi đã khai báo một mảng có 5 phần tử, bạn không thể dễ dàng thêm phần tử thứ 6 hoặc thu nhỏ mảng khi xóa bớt dữ liệu.

Lập trình Java ArrayList trong Java Collections Framework

Để giải quyết vấn đề này, Java cung cấp Java Collections Framework, trong đó ArrayList là cấu trúc dữ liệu phổ biến và được sử dụng nhiều nhất. Bài viết này sẽ giúp bạn làm quen và làm chủ ArrayList từ những thao tác cơ bản nhất.

1. ArrayList Là Giống Gì? Tại Sao Nên Dùng?

ArrayList là một lớp triển khai (implementation) của giao diện List nằm trong gói java.util. Bạn có thể tưởng tượng ArrayList giống như một chiếc mảng động có khả năng tự động co giãn kích thước khi bạn thêm hoặc xóa các phần tử.

Một số đặc điểm nổi bật của ArrayList:

  • Kích thước linh hoạt: Tự động tăng sức chứa khi thêm phần tử mới và thu nhỏ khi xóa bớt.
  • Duy trì thứ tự: Lưu trữ các phần tử theo đúng thứ tự mà bạn chèn vào.
  • Cho phép trùng lặp: Có thể chứa các phần tử có giá trị giống nhau hoặc chứa giá trị null.
  • Truy cập nhanh chóng: Truy xuất phần tử dễ dàng thông qua chỉ số (index) bắt đầu từ 0.

2. Khai Báo Và Khởi Tạo ArrayList

Để sử dụng ArrayList, bạn cần import gói java.util.ArrayList và java.util.List. Cú pháp khai báo chuẩn thường kết hợp giữa List và ArrayList như sau:

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        // Khai báo danh sách lưu trữ chuỗi String
        List<String> names = new ArrayList<>();

        // Khai báo danh sách lưu trữ số nguyên Integer
        List<Integer> numbers = new ArrayList<>();
    }
}

Lưu ý: ArrayList chỉ làm việc với đối tượng (Object). Do đó, khi muốn lưu các kiểu dữ liệu nguyên thủy như int, double, boolean, bạn phải dùng các lớp bọc (Wrapper Class) tương ứng như Integer, Double, Boolean.

3. Các Thao Tác Cơ Bản Với ArrayList

Lớp ArrayList cung cấp rất nhiều phương thức dựng sẵn giúp bạn làm việc với dữ liệu một cách cực kỳ tiện lợi.

Thêm phần tử (add)

Bạn sử dụng phương thức add() để thêm phần tử vào cuối danh sách hoặc chèn vào vị trí chỉ định:

List<String> fruits = new ArrayList<>();

// Thêm vào cuối danh sách
fruits.add(


Nguồn tham khảo


📚 Chuỗi bài: Lộ Trình Tự Học Java Từ Con Số 0 Đến Ứng Dụng Thực Tế

Chuỗi 20 bài viết thiết kế dạng 'cầm tay chỉ việc' dành riêng cho người mới bắt đầu học lập trình Java. Lộ trình đi từ tư duy nền tảng, cú pháp cơ bản, lập trình hướng đối tượng (OOP) cho đến hoàn thiện một dự án thực tế nhỏ.

  1. 1. Java Là Giống Gì? Cài Đặt Environment (JDK & IntelliJ IDEA) Cực Nhanh
  2. 2. Giải Mã Chương Trình 'Hello World' Và Cấu Trúc Cơ Bản Của Bài Code Java
  3. 3. Biến Và Kiểu Dữ Liệu Trong Java: Cách Lưu Trữ Thông Tin Đúng Chuẩn
  4. 4. Toán Tử Trong Java: Hướng Dẫn Tính Toán Và So Sánh Chi Tiết
  5. 5. Nhập Xuất Dữ Liệu Với Scanner: Làm Cho Chương Trình Biết Tương Tác
  6. 6. Cấu Trúc Điều Kiện If-Else Và Switch-Case: Dạy Máy Tính Rẽ Nhánh Tư Duy
  7. 7. Vòng Lặp For, While Và Do-While Trong Java: Tự Động Hóa Công Việc Lặp Lại
  8. 8. Phương Thức (Method) Trong Java: Tái Sử Dụng Code Một Cách Thông Minh
  9. 9. Mảng Một Chiều (Array) Trong Java: Quản Lý Danh Sách Dữ Liệu Đơn Giản
  10. 10. Bài 10: Xử Lý Chuỗi Dữ Liệu Với String Và StringBuilder Trong Java
  11. 11. Lập Trình Hướng Đối Tượng (OOP): Lớp (Class) Và Đối Tượng (Object) Là Đâu?
  12. 12. Tính Đóng Gói (Encapsulation) Và Access Modifiers: Bảo Vệ Dữ Liệu Safe 100%
  13. 13. Tính Kế Thừa (Inheritance): Tái Sử Dụng Mã Nguồn Với Từ Khóa Extends
  14. 14. Tính Đa Hình (Polymorphism): Nạp Chồng (Overloading) Và Ghi Đè (Overriding)
  15. 15. Lộ Trình Tự Học Java: Tính Trừu Tượng (Abstraction) - Abstract Class Hay Interface?
  16. 16. Xử Lý Ngoại Lệ (Exception Handling): Giúp Chương Trình Không Bị 'Sập' Đột Ngột
  17. 17. Java Collections Framework: Làm Quen Mảng Cố Định Với ArrayList ← Bạn đang đọc
  18. 18. Lưu Trữ Cặp Dữ Liệu Key-Value Cực Kỳ Nhanh Với HashMap
  19. 19. Đọc Và Ghi File Trong Java: Lưu Trữ Dữ Liệu Lâu Dài Vào Ổ Cứng
  20. 20. Dự Án Thực Tế: Xây Dựng Ứng Dụng Quản Lý Sinh Viên Console Hoàn Chỉnh

← Bài trước: Xử Lý Ngoại Lệ (Exception Handling): Giúp Chương Trình Không Bị 'Sập' Đột Ngột Bài tiếp theo: Lưu Trữ Cặp Dữ Liệu Key-Value Cực Kỳ Nhanh Với HashMap →

Nhận xét