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

So sortieren Sie Objekte einer Klasse in Java

王林
王林nach vorne
2019-12-11 17:51:453223Durchsuche

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 Comparable8742468051c85b06f0a0af9e3e506b5c-Methode zum Sortieren auf. Eine andere Methode besteht darin, dass die Klasse nicht die Collections.sort(List)-Schnittstelle implementiert, sondern beim Sortieren die Comparable8742468051c85b06f0a0af9e3e506b5c-Methode verwendet und die Comparator8742468051c85b06f0a0af9e3e506b5c-Schnittstelle implementiert. Collections.sort(List, Comparator8742468051c85b06f0a0af9e3e506b5c)

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;
    }
}

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;;
    }
}

2. Sortieren durch Implementierung der Comparable8742468051c85b06f0a0af9e3e506b5c-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());
        }
    }
 
}

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Java-Thread-Timer-TimerNächster Artikel:Java-Thread-Timer-Timer