Метод 1: Реализуйте интерфейс компаратора и переопределяйте метод сравнения
Код класса сущности:
Импорт java.util.comparator;/*** Метод класса студентов 1* Реализуйте интерфейс компаратора* и перезаписывайте метод сравнения* @author liaot**/public Class Студент реализует компаратор <студент> {private String name; // назвать частный int ровь; // возраст/переписать метод сравнения Этот пример определяется как сравнение по возрасту @Override public int compare (студент O1, студент O2) {if (o1.getage ()> o2.getage ()) {return 1; } else {return -1; }} public Student (String name, int age) {super (); this.name = name; this.age = возраст; } public String getName () {return name; } public void setName (string name) {this.name = name; } public int getage () {return Age; } public void setage (int age) {this.age = age; }}Тестовый класс:
Import java.util.arraylist; import java.util.collections; import java.util.list; открытый класс Main {public static void main (String [] args) {// Инициализировать четырех разных студентов Stu1 = новый студент («Passy A», 20); Студент STU2 = новый студент ("Passy A", 18); Студент Stu3 = новый студент ("Passy C", 16); Студент STU4 = новый студент ("Passy C", 19); // Создать новый список, чтобы добавить учащихся в список списка <toodtist> stulist = new ArrayList <> (); stulist.add (stu1); stulist.add (stu2); stulist.add (stu3); stulist.add (stu4); System.out.println ("Перед сортировкой: ======"); для (студент stu: stulist) {System.out.println ("name:"+stu.getName ()+"age"+stu.getage ()); } // Сортировка Collections.sort (Stulist, Stu1); // Первый параметр - список, второй параметр - это экземпляр объекта System.out.println ("сортирован: ======"); для (студент stu: stulist) {System.out.println ("name:"+stu.getName ()+"age"+stu.getage ()); }}}Результаты работы:
Метод 2: реализовать сопоставимый интерфейс и переопределить метод сравнения
/** * Метод класса учащихся 2 реализует сопоставимый интерфейс и переписывает метод сравнения * * @author liaot * */public class Student2. Сопоставимо сопоставимо <tood2> {private String name; // назвать частный int ровь; // возраст // Переписать метод сравнения. } else {return -1; }} public Student2 (string name, int age) {super (); this.name = name; this.age = возраст; } public String getName () {return name; } public void setName (string name) {this.name = name; } public int getage () {return Age; } public void setage (int age) {this.age = age; }}Тестовый класс
Импорт java.util.arraylist; import java.util.collections; import java.util.list; открытый класс Main2 {public static void main (String [] args) {// Инициализировать четырех разных студентов STU1 = new Student2 («Passy A», 20); Студент2 stu2 = новый студент2 ("passy a", 18); Студент2 stu3 = новый студент2 ("Passy C", 16); Студент2 STU4 = новый студент2 ("Passy C", 19); // Создать новый список, чтобы добавить студентов в список списка <tood2> stulist = new ArrayList <> (); stulist.add (stu1); stulist.add (stu2); stulist.add (stu3); stulist.add (stu4); System.out.println ("Перед сортировкой: ======"); for (student2 stu: stulist) {System.out.println ("name:"+stu.getName ()+"age"+stu.getage ()); } // sort collections.sort (Stulist); // только один параметр - это список списков. for (student2 stu: stulist) {System.out.println ("name:"+stu.getName ()+"age"+stu.getage ()); }}}Результаты бега
3. Резюме: разница между написанием и использованием двух методов:
Приведенный выше метод сортировки Java в соответствии с атрибутами объектов в списке - это весь контент, которым я делюсь с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.