Nous devons trier les objets de la classe en fonction d'un certain attribut (ou de plusieurs attributs) dans la classe. Il existe deux façons d'y parvenir. Une méthode est l'implémentation de la classe , puis appelez la méthode Comparable8742468051c85b06f0a0af9e3e506b5c
pour le tri. Une autre méthode est que la classe n'implémente pas l'interface Collections.sort(List)
, mais utilise la méthode Comparable8742468051c85b06f0a0af9e3e506b5c
lors du tri et implémente l'interface Comparator8742468051c85b06f0a0af9e3e506b5c Collections.sort(List, Comparator8742468051c85b06f0a0af9e3e506b5c)
public class Student { private String name; private int age; public Student() {} public Student(String name, int age) { this.name = name; this.age = 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; } }1. Implémentez Comparable
public class Student implements Comparable<Student>{ private String name; private int age; public Student() {} public Student(String name, int age) { this.name = name; this.age = 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; } /** * 将对象按姓名字典序升序排序 * @param o * @return */ @Override public int compareTo(Student o) { return this.name.compareTo(o.getName()); } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }2. Trier en implémentant l'interface Comparable8742468051c85b06f0a0af9e3e506b5c dans la méthode Collections.sort()
public class Client { public static void main(String[] args){ List<Student> students = new ArrayList<>(); students.add(new Student("a", 18)); students.add(new Student("c", 19)); students.add(new Student("b", 20)); Collections.sort(students, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { return o1.getAge()>o2.getAge()? -1:(o1.getAge()==o2.getAge()? 0:1); } }); for(Student student:students){ System.out.println(student.toString()); } } }Tutoriels d'articles associés recommandés :
Introduction à la programmation Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!