Hôm nay chúng ta sẽ khám phá
ArrayList list = new ArrayList[];
5lớp học. Đây là lớp đầu tiên trong một số lớp được gọi là bộ sưu tập . Trong Java, các bộ sưu tập là một chủ đề rộng lớn và hữu ích đến mức toàn bộ nhiệm vụ CodeGym được dành cho chúng.
Để hiểu đầy đủ cách các bộ sưu tập được cấu trúc và tất cả các sắc thái của chúng, trước tiên bạn cần tìm hiểu OOP, giao diện, kế thừa, kiến thức cơ bản về đa luồng, v.v.
Vì vậy, hôm nay chúng ta sẽ chỉ làm quen với một loại tập hợp đơn giản nhất. Nhưng ở mức độ đủ sâu để bạn hiểu cách sử dụng và cách thức hoạt động của nó. Bây giờ, hãy gặp
ArrayList list = new ArrayList[];
5bộ sưu tập .
cốt truyện
Tôi sẽ bắt đầu với một nền tảng nhỏ. Các lập trình viên thực sự không thích một khía cạnh của mảng: thực tế là kích thước của chúng không thể thay đổi được. Điều gì sẽ xảy ra nếu bạn cần lưu trữ thêm ba phần tử trong một mảng nhưng chỉ có một ô trống?
Giải pháp duy nhất cho giới hạn không gian của một mảng là tạo một mảng rất lớn để chứa tất cả các phần tử mà bạn có thể cần lưu trữ. Nhưng điều này thường là một sự lãng phí bộ nhớ. Nếu một mảng thường chứa hai hoặc ba phần tử nhưng thậm chí có khả năng rất nhỏ là nó cần lưu trữ 100 phần tử trong số đó, thì cần phải tạo một mảng có khả năng lưu trữ 100 phần tử.
Vậy các lập trình viên đã nghĩ ra điều gì? Họ đã viết
ArrayList list = new ArrayList[];
5lớp, lớp này thực hiện công việc tương tự như
ArrayList list = new ArrayList[];
9lớp, nhưng có thể thay đổi kích thước.
lớp ArrayList
Tên của
ArrayList list = new ArrayList[];
5lớp được hình thành từ hai từ: Mảng + Danh sách.
ArrayList list = new ArrayList[];
9là một mảng và
ArrayList list = new ArrayList[];
2là một danh sách.
Mỗi
ArrayList list = new ArrayList[];
5đối tượng chứa một mảng các phần tử bình thường. Khi bạn đọc các phần tử từ một
ArrayList list = new ArrayList[];
5, đối tượng sẽ truy xuất chúng từ mảng bên trong của nó. Khi bạn viết các phần tử, nó sẽ ghi chúng vào mảng bên trong.
Lớp ArrayList thiếu tất cả những nhược điểm mà mảng có. Nó biết cách:
- Lưu trữ các phần tử của một loại cụ thể
- Tự động thay đổi kích thước danh sách
- Thêm phần tử vào cuối danh sách
- Chèn phần tử vào đầu hoặc giữa danh sách
- Xóa các phần tử khỏi bất kỳ đâu trong danh sách
Để biết thêm chi tiết, xem bên dưới:
2. Tạo
ArrayList list = new ArrayList[];
5đối tượng
Để tạo một
ArrayList list = new ArrayList[];
5đối tượng, bạn cần viết mã như sau:
ArrayList name = new ArrayList[];
ArrayList list = new ArrayList[];
7Loại/lớp của bộ sưu tập ở đâu ,
ArrayList list = new ArrayList[];
8là loại của các phần tử được lưu trữ trong
ArrayList list = new ArrayList[];
5bộ sưu tập và
void add[Type value]
0là tên của một
void add[Type value]
1biến.
Biến
void add[Type value]
0có một loại chung. Nó bao gồm hai loại: loại bộ sưu tập được chỉ định trước, sau đó dấu ngoặc nhọn được sử dụng để chỉ loại phần tử được lưu trữ trong bộ sưu tập.
Ví dụ:
Mã số Sự miêu tả
ArrayList list = new ArrayList[];
Danh sách các số nguyên
ArrayList list = new ArrayList[];
Danh sách các chuỗi
ArrayList list = new ArrayList[];
Danh sách các số thực
Không giống như mảng, các bộ sưu tập không thể lưu trữ các kiểu nguyên thủy, chỉ lưu trữ các kiểu tham chiếu . Vì vậy, nếu bạn cần một bộ sưu tập
void add[Type value]
3các s,
void add[Type value]
4thay vào đó hãy sử dụng lớp trình bao bọc.
3. Hoạt động với một
ArrayList list = new ArrayList[];
5
Ban đầu, độ dài của danh sách mới được tạo bằng 0, vì nó chứa 0 phần tử. Nếu bạn thêm một phần tử vào danh sách, độ dài của nó sẽ tăng thêm 1. Nếu bạn xóa phần tử đã thêm, độ dài sẽ giảm về 0.
Bảng sau đây có thể cho bạn biết thêm về các phương thức của lớp
ArrayList list = new ArrayList[];
5:
phương pháp Sự miêu tả
void add[Type value]
Thêm phần tử đã truyền vào danh sách
void add[int index, Type value]
Thêm một phần tử vào một vị trí cụ thể trong danh sách.
Type get[int index]
Trả về phần tử có chỉ số là
void add[Type value]
7
void set[int index, Type value]
Gán
void add[Type value]
8cho phần tử có chỉ số là
void add[Type value]
7
Type remove[int index]
Loại bỏ phần tử có chỉ số là
void add[Type value]
7. Trả về phần tử đã loại bỏ.
Type remove[Type value]
Loại bỏ phần tử mà bạn truyền vào phương thức. Nếu có nhiều hơn một phần tử như vậy, phần tử đầu tiên sẽ bị xóa.
ArrayList list = new ArrayList[];
0 Xóa danh sách, nghĩa là xóa tất cả các phần tử khỏi danh sách.
ArrayList list = new ArrayList[];
1 Kiểm tra xem danh sách có chứa
void add[Type value]
8.
ArrayList list = new ArrayList[];
2 Kiểm tra xem danh sách có rỗng hay không. Nói cách khác, độ dài của danh sách có bằng không hay không.
ArrayList list = new ArrayList[];
3 Trả về kích thước của danh sách, tức là số phần tử trong danh sách.
ArrayList list = new ArrayList[];
4 Trả về một mảng chứa các phần tử của danh sách. Bạn cần truyền mảng cho phương thức.
Các phương thức này cho phép bạn thực hiện hầu hết mọi thứ bạn muốn với danh sách: hoán đổi phần tử, thêm phần tử và xóa phần tử. Bạn có thể xóa danh sách bằng một lệnh hoặc thậm chí chuyển đổi danh sách thành một mảng.
4. So sánh
ArrayList list = new ArrayList[];
5và
ArrayList list = new ArrayList[];
9
Tôi không nghĩ rằng chúng ta có thể tránh so sánh
ArrayList list = new ArrayList[];
5và một mảng.
Chỉ có 4 hành động bạn có thể thực hiện với mảng:
- Tạo một mảng
- Nhận một phần tử theo chỉ mục
- Đặt một phần tử theo chỉ mục
- Lấy độ dài của mảng
Dưới đây là các thao tác này khi chúng áp dụng cho một mảng và một
ArrayList list = new ArrayList[];
5:
Mảng Lập danh sách
ArrayList list = new ArrayList[];
5
ArrayList list = new ArrayList[];
6
ArrayList list = new ArrayList[];
7
ArrayList list = new ArrayList[];
8
ArrayList list = new ArrayList[];
9
ArrayList list = new ArrayList[];
0
ArrayList list = new ArrayList[];
1
ArrayList list = new ArrayList[];
2
Hãy so sánh cách thức
ArrayList list = new ArrayList[];
5hoạt động của một mảng so với cách thức hoạt động của một mảng. Ví dụ: hãy thực hiện tác vụ này: "đọc 10 chuỗi từ bàn phím và hiển thị chúng trên màn hình theo thứ tự ngược lại"
Sử dụng mảng Sử dụng ArrayList
ArrayList list = new ArrayList[];
3
ArrayList list = new ArrayList[];
4
Sự tương tự là rõ ràng. Mọi thứ bằng cách nào đó ngắn hơn và rõ ràng hơn đối với mảng. Nhưng
ArrayList list = new ArrayList[];
5cũng không khó: để lấy một phần tử, chúng ta sử dụng
void add[int index, Type value]
8phương thức; để thay đổi một phần tử,
void add[int index, Type value]
9phương thức; để lấy độ dài của danh sách,
Type get[int index]
0phương thức.