Heim > Java > javaLernprogramm > So sortieren Sie Objekte einer Klasse in Java

So sortieren Sie Objekte einer Klasse in Java

王林
Freigeben: 2019-12-11 17:51:45
nach vorne
3227 Leute haben es durchsucht

So sortieren Sie Objekte einer Klasse in Java

Wir müssen die Objekte einer Klasse nach einem bestimmten Attribut (oder mehreren Attributen) in der Klasse sortieren. Eine Methode ist die Klassenimplementierung >-Schnittstelle und rufen Sie dann die Comparable<T>-Methode zum Sortieren auf. Eine andere Methode besteht darin, dass die Klasse nicht die Collections.sort(List)-Schnittstelle implementiert, sondern beim Sortieren die Comparable<T>-Methode verwendet und die Comparator-Schnittstelle implementiert. Collections.sort(List, Comparator<T>)

Empfohlene kostenlose Lernvideo-Tutorials:

Java-Video-Tutorials

Erstellen Sie zunächst eine einfache Schülerklasse:

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;
    }
}
Nach dem Login kopieren

1. Implementieren Sie 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=&#39;" + name + &#39;\&#39;&#39; +
                ", age=" + age +
                &#39;}&#39;;
    }
}
Nach dem Login kopieren

2. Sortieren durch Implementierung der Comparable<T>-Schnittstelle in der Collections.sort()-Methode

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());
        }
    }
 
}
Nach dem Login kopieren

Empfohlene verwandte Artikel-Tutorials:

Einführung in die Java-Programmierung

Das obige ist der detaillierte Inhalt vonSo sortieren Sie Objekte einer Klasse in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage