Comparableインタフェース実装セットのソート
4371 ワード
1.並べ替えが必要なオブジェクトにComparableインタフェースを実装させ、comparareToメソッドを書き換える
2.ソートするオブジェクトのセットを構築し、Collectionsを呼び出す.sort()メソッドは、集合内の要素をソートします.
注:Collectionsを使用する.sort(students);メソッドがコレクションオブジェクトをソートする場合、コレクション内のオブジェクトはComparableインタフェースを実装する必要があります.そうしないと、エラーが発生します.
転載先:https://www.cnblogs.com/liuxuelin/p/10126743.html
public class Student implements Comparable { //
private int age;
private String name;
private int score;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public Student(int age, String name, int score) {
super();
this.age = age;
this.name = name;
this.score = score;
}
@Override
public int compareTo(Student other) { //
return score-other.getScore(); // score
}
}
2.ソートするオブジェクトのセットを構築し、Collectionsを呼び出す.sort()メソッドは、集合内の要素をソートします.
public class CompareTest {
public static void main(String[] args) {
Student s1 = new Student(16, "aa", 44);
Student s2 = new Student(18, "bb", 88);
Student s3 = new Student(17, "cc", 99);
Student s4 = new Student(19, "dd", 66);
List students = Arrays.asList(s1, s2, s3, s4);
Collections.sort(students); // students score
for (Student student : students) {
System.out.println(student.getScore());
}
}
}
注:Collectionsを使用する.sort(students);メソッドがコレクションオブジェクトをソートする場合、コレクション内のオブジェクトはComparableインタフェースを実装する必要があります.そうしないと、エラーが発生します.
転載先:https://www.cnblogs.com/liuxuelin/p/10126743.html