Bài 17: Sắp Xếp Các đối Tượng Trong ArrayList - Lập Trình Android

Collections.sort(danhSach, new Comparator<SinhVien>() { @Override public int compare(SinhVien sv1, SinhVien sv2) { if (sv1.diem < sv2.diem) { return -1; } else { if (sv1.diem == sv2.diem) { return 0; } else { return 1; } } } });

Toàn bộ code chương trình như sau

class SinhVien { public String hoTen; public int diem; } public class JavaAndroidVn { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Nhập số sinh viên: "); int n = input.nextInt(); ArrayList<SinhVien> danhSach = new ArrayList(); for (int i = 0; i < n; i++) { input.nextLine(); SinhVien x = new SinhVien(); System.out.println("Thông tin sinh viên thứ " + i); System.out.print("Họ và Tên: "); x.hoTen = input.nextLine(); System.out.print("Điểm: "); x.diem = input.nextInt(); danhSach.add(x); } //Sắp xếp danh sách theo số điểm giảm dần! Collections.sort(danhSach, new Comparator<SinhVien>() { @Override public int compare(SinhVien sv1, SinhVien sv2) { if (sv1.diem < sv2.diem) { return 1; } else { if (sv1.diem == sv2.diem) { return 0; } else { return -1; } } } }); System.out.println("Danh sách sắp xếp theo thứ tự điểm giảm dần là: "); for (int i = 0; i < danhSach.size(); i++) { System.out.println("Tên: " + danhSach.get(i).hoTen + " Điểm: " + danhSach.get(i).diem); } } }

Ví dụ 2: Sắp xếp danh sách các đối tượng theo thứ tự trong bảng chữ cái! a b c

class SinhVien { public String hoTen; public int diem; } public class JavaAndroidVn { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Nhập số sinh viên: "); int n = input.nextInt(); ArrayList<SinhVien> danhSach = new ArrayList(); for (int i = 0; i < n; i++) { input.nextLine(); SinhVien x = new SinhVien(); System.out.println("Thông tin sinh viên thứ " + i); System.out.print("Họ và Tên: "); x.hoTen = input.nextLine(); System.out.print("Điểm: "); x.diem = input.nextInt(); danhSach.add(x); } //Sắp xếp danh sách theo theo thứ tự a b c! Collections.sort(danhSach, new Comparator<SinhVien>() { @Override public int compare(SinhVien sv1, SinhVien sv2) { return (sv1.hoTen.compareTo(sv2.hoTen)); // Muốn đảo danh sách các bạn đối thành //return (sv2.hoTen.compareTo(sv1.hoTen)); } }); System.out.println("Danh sách sắp xếp theo tên trong bảng chữ cái a - b - c: "); for (int i = 0; i < danhSach.size(); i++) { System.out.println("Tên: " + danhSach.get(i).hoTen + " Điểm: " + danhSach.get(i).diem); } } }

Từ khóa » Ham Sắp Xếp Arraylist Trong Java