排序演算法(一)——Comparable介面
阿新 • • 發佈:2021-01-29
技術標籤:資料結構與演算法
編寫Student類實現Comparable介面,重寫compareTo方法
package sort;
//定義一個Student類,具有age和username兩個屬性,通過Comparable結構提供比較規則
public class Student implements Comparable<Student>{
private String username;
private int age;
public String getUsername() {
return username;
}
public void setUsername (String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [username=" + username + ", age=" + age + "]";
}
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
return this.age - o.age;
}
}
package test;
import sort.Student;
public class TestComparable {
public static void main(String[] args) {
Student s1 = new Student();
s1.setUsername("小強");
s1.setAge(18);
Student s2 = new Student();
s2.setUsername("小紅");
s2.setAge(19);
Comparable max = getMax(s1,s2);
//由於重寫了toString方法,所以可以輸出資訊
System.out.println(max);
}
//返回較大的物件
public static Comparable getMax(Comparable c1,Comparable c2) {
int result = c1.compareTo(c2);
if(result >= 0) {
return c1;
}else {
return c2;
}
}
}