Khái niệm cơ bản
ADT là viết tắt của Abstract Data Type (Kiểu dữ liệu trừu tượng).
Mảng được coi là ADT vì chúng có thể chứa các phần tử liên tiếp theo cùng một thứ tự. Chúng cho phép truy cập phần tử cụ thể thông qua chỉ số (index) hoặc vị trí.
Chúng là trừu tượng vì có thể là String, int, Person, v.v.
int[] arrA = new int[1]; String[] arrB = new String[1]; Person[] arrC = new Person[3]; // Person là một lớp đã định nghĩa
Ưu điểm
- Truy cập ngẫu nhiên (random access) nhanh chóng các mục/phần tử.
- Rất tiết kiệm bộ nhớ, chỉ cần không gian lưu trữ nội dung.
Nhược điểm
- Chèn và xóa phần tử chậm.
- Kích thước mảng phải biết tại thời điểm tạo và là cố định (tĩnh).
Một cài đặt dựa trên mảng cho ADT List
public class ListArrayBased implements ListInterface {
private static final int MAX_LIST1 = 50;
private Object items1[]; // mảng các mục danh sách
private int numItems1; // số mục trong danh sách
public ListArrayBased() {
items1 = new Object[MAX_LIST1];
numItems1 = 0;
} // end default constructor
}