Java ArrayList
Các ArrayList
lớp là một thay đổi kích thước mảng , có thể được tìm thấy trong các java.util
gói.
Sự khác biệt giữa mảng dựng sẵn và ArrayList
trong Java là kích thước của mảng không thể được sửa đổi (nếu bạn muốn thêm hoặc xóa các phần tử vào / khỏi một mảng, bạn phải tạo một mảng mới). Trong khi các phần tử có thể được thêm vào và xóa khỏi một ArrayList
bất cứ khi nào bạn muốn. Cú pháp cũng hơi khác một chút:
Thí dụ
Tạo một ArrayList
đối tượng có tên là ô tô sẽ lưu trữ các chuỗi:
import java.util.ArrayList; // import the ArrayList class
ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
Nếu bạn không biết gói là gì, hãy đọc Hướng dẫn về gói Java của chúng tôi .
Thêm các mục
Các ArrayList
lớp học có nhiều phương pháp hữu ích. Ví dụ, để thêm các phần tử vào ArrayList
, hãy sử dụng add()
phương thức:
Thí dụ
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
Truy cập một mục
Để truy cập một phần tử trong ArrayList
, hãy sử dụng get()
phương thức và tham chiếu đến số chỉ mục:
Thí dụ
cars.get(0);
Hãy nhớ: Chỉ mục của mảng bắt đầu bằng 0: [0] là phần tử đầu tiên. [1] là phần tử thứ hai, v.v.
Thay đổi một item
Để sửa đổi một phần tử, hãy sử dụng set()
phương pháp và tham chiếu đến số chỉ mục:
Thí dụ
cars.set(0, "Opel");
Xóa một mục
Để xóa một phần tử, hãy sử dụng remove()
phương thức và tham chiếu đến số chỉ mục:
Thí dụ
cars.remove(0);
Để loại bỏ tất cả các phần tử trong ArrayList
, hãy sử dụng clear()
phương pháp:
Thí dụ
cars.clear();
Kích thước ArrayList
Để biết ArrayList có bao nhiêu phần tử, hãy sử dụng size
phương pháp:
Thí dụ
cars.size();
Loop Through a ArrayList
Lặp qua các phần tử của ArrayList
một for
vòng lặp và sử dụng size()
phương thức để chỉ định số lần vòng lặp sẽ chạy:
Thí dụ
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
for (int i = 0; i < cars.size(); i++) {
System.out.println(cars.get(i));
}
}
}
Bạn cũng có thể lặp qua một ArrayList
với vòng lặp for-each :
Thí dụ
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
for (String i : cars) {
System.out.println(i);
}
}
}
Các loại khác
Các phần tử trong ArrayList thực sự là các đối tượng. Trong các ví dụ trên, chúng tôi đã tạo các phần tử (đối tượng) kiểu “String”. Hãy nhớ rằng một chuỗi trong Java là một đối tượng (không phải là một kiểu nguyên thủy). Để sử dụng các loại khác, chẳng hạn như int, bạn phải xác định tương đương lớp wrapper : Integer
. Đối với các kiểu nguyên thủy khác, hãy sử dụng: Boolean
cho boolean, Character
cho char, Double
cho đôi, v.v.:
Thí dụ
Tạo một ArrayList
để lưu trữ số (thêm các phần tử của loại Integer
):
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
for (int i : myNumbers) {
System.out.println(i);
}
}
}
Sắp xếp một ArrayList
Một lớp hữu ích khác trong java.util
gói là Collections
lớp, bao gồm sort()
phương thức sắp xếp danh sách theo thứ tự bảng chữ cái hoặc số:
Thí dụ
Sắp xếp một Mảng Danh sách các Chuỗi:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
Collections.sort(cars); // Sort cars
for (String i : cars) {
System.out.println(i);
}
}
}
Thí dụ
Sắp xếp một Mảng Danh sách các Số nguyên:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
public class Main {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(33);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(34);
myNumbers.add(8);
myNumbers.add(12);
Collections.sort(myNumbers); // Sort myNumbers
for (int i : myNumbers) {
System.out.println(i);
}
}
}