Phương thức Collections.sort() sắp xếp ArrayList Java theo thứ tự tăng dần. Collections.reverse() đảo ngược thứ tự của ArrayList. Bạn cần import gói Java Collections để sử dụng các phương thức này.
Cách Sắp Xếp ArrayList Trong Java
Bạn có thể gặp tình huống muốn sắp xếp ArrayList Java theo thứ tự tăng dần hoặc giảm dần. Ví dụ, bạn có danh sách tên học sinh muốn sắp xếp theo thứ tự bảng chữ cái.
Đó chính là lúc phương thức Collections.sort() và Collections.reverse() phát huy tác dụng.
Phương thức Collections.sort() dùng để sắp xếp các phần tử trong ArrayList theo thứ tự tăng dần. Collections.reverse() dùng để sắp xếp các phần tử trong ArrayList nhưng theo thứ tự ngược lại.
Sử dụng các ví dụ, bài viết này sẽ thảo luận về việc sắp xếp ArrayList trong Java. Chúng ta sẽ khám phá cơ bản về ArrayList và cú pháp cho cả hai phương thức sort() và reverse().
ArrayList Trong Java
Lớp ArrayList trong Java cho phép tạo mảng có thể thay đổi kích thước. ArrayList là một triển khai của giao diện List, được dùng để tạo danh sách trong Java. Điều này có nghĩa là lớp ArrayList có thể truy cập nhiều phương thức List dùng để thao tác và truy xuất dữ liệu.
Sắp Xếp ArrayList Java: Phương Thức sort()
Gói Collections trong Java bao gồm nhiều phương thức thao tác nội dung của các collection. Trong Java, ArrayList là một lớp cũng là một loại collection, vì vậy chúng ta có thể dùng gói Collections với ArrayList.
Gói Collections bao gồm phương thức sort(). Phương thức này dùng để sắp xếp một collection theo thứ tự tăng dần.
Trước khi dùng phương thức sort(), chúng ta cần import gói Collections. Có thể làm như sau:
import java.util.Collections;
Sau khi import gói Collections, chúng ta có thể dùng sort(). Cú pháp cho phương thức sort():
Collections.sort(listName);
sort() chấp nhận một tham số: tên danh sách bạn muốn sắp xếp. Phương thức này tự động sắp xếp danh sách theo thứ tự tăng dần.
Ví Dụ Sắp Xếp ArrayList Java: Phương Thức sort()
Giả sử chúng ta có danh sách tên học sinh từ một lớp tiểu học, và muốn sắp xếp tên theo thứ tự bảng chữ cái. Dưới đây là chương trình Java sắp xếp danh sách chưa sắp xếp:
import java.util.ArrayList;
import java.util.Collections;
class Main {
public static void main(String[] args) {
ArrayList<String> students = new ArrayList<>();
students.add("Lindsay");
students.add("Peter");
students.add("Lucas");
students.add("Athena");
System.out.println("Student list: " + students);
Collections.sort(students);
System.out.println("Sorted student list: " + students);
}
}
Kết quả chạy chương trình:
Student list: [Peter, Lindsay, Lucas, Athena] Sorted student list: [Athena, Lindsay, Lucas, Peter]
Phân tích mã: Đầu tiên, import gói ArrayList và Collections. Khai báo lớp Main chứa mã chương trình chính.
Trong chương trình chính, thực hiện các bước:
- Khai báo biến students.
- Thêm tên học sinh vào ArrayList.
- In danh sách chưa sắp xếp, tiền tố thông báo Student list: ra bảng điều khiển.
- Collections.sort() thực hiện thao tác sắp xếp tự nhiên.
- In thông báo Sorted student list: ra bảng điều khiển, tiếp theo là danh sách tên đã sắp xếp.
Collections.sort() thay đổi thứ tự của danh sách hiện có. Trong ví dụ trên, khi thực thi Collections.sort(), phương thức thay đổi thứ tự danh sách hiện có. Nó không tạo danh sách mới đã sắp xếp.
Sắp Xếp ArrayList Java: Phương Thức reverse()
Phương thức Collections.reverse() sắp xếp ArrayList theo thứ tự ngược lại. reverse() chấp nhận một tham số: danh sách muốn đảo ngược thứ tự.
Cú pháp cho phương thức reverse:
Collections.reverse(list)
"list" tham chiếu đến ArrayList muốn đảo ngược thứ tự.
Vì phương thức reverse() đảo ngược thứ tự các mục trong ArrayList, chúng ta cần sắp xếp danh sách theo thứ tự tăng dần trước. Sau đó, dùng reverse() để đảo ngược thứ tự. Việc dùng Collections.sort() và reverse() cùng nhau cho phép sắp xếp danh sách theo thứ tự giảm dần.
Ví Dụ Sắp Xếp ArrayList Java: Phương Thức reverse()
Giả sử chúng ta muốn danh sách tên học sinh trước đó được sắp xếp theo thứ tự giảm dần. Có thể thực hiện bằng mã sau:
import java.util.ArrayList;
import java.util.Collections;
class Main {
public static void main(String[] args) {
ArrayList<String> students = new ArrayList<>();
students.add("Lindsay");
students.add("Peter");
students.add("Lucas");
students.add("Athena");
System.out.println("Student list: " + students);
Collections.sort(students);
Collections.reverse(students);
System.out.println("Sorted student list: " + students);
}
}
Kết quả chạy chương trình:
Student list: [Lindsay, Peter, Lucas, Athena] Sorted student list: [Peter, Lucas, Lindsay, Athena]
Đầu tiên sắp xếp danh sách theo thứ tự bảng chữ cái. Sau đó đảo ngược thứ tự để xem theo thứ tự bảng chữ cái ngược. Sau khi sắp xếp danh sách students bằng Collections.sort(), đảo ngược thứ tự các mục bằng Collections.reverse().
Kết Luận
Phương thức Collections.sort() trong Java sắp xếp ArrayList theo thứ tự tăng dần. Phương thức Collections.reverse() đảo ngược thứ tự các mục trong ArrayList. Khi dùng cùng nhau, sort() và reverse() có thể sắp xếp các mục trong ArrayList theo thứ tự giảm dần.
Vẫn còn nhiều điều để học về việc sử dụng ArrayList trong Java. Để tìm hiểu thêm, bạn có thể xem các hướng dẫn sau:
- Chuyển đổi ArrayList sang Array
- Cách khởi tạo ArrayList
- Cách sắp xếp ArrayList
Để tìm hiểu thêm về lập trình Java, hãy đọc hướng dẫn How to Learn Java của chúng tôi.