Comparable用法
實現對象的排序
class Persion implements Comparable<Persion>{
private String name;
private int age;
public Persion(String name,int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "姓名:" + this.name + ",年齡:" + this.age;
}
@Override
public int compareTo(Persion o) {
if(this.age > o.age) {
return 1;
}else if(this.age < o.age) {
return -1;
}else {
return 0;
}
}
}
public class Compareable {
public static void main(String args[]) {
Persion per[] =new Persion [] {
new Persion("小李",39),
new Persion("小茗",19),
new Persion("小紅",33)
};
Arrays.sort(per);
System.out.println(Arrays.toString(per));
}
}
返回結果:
[姓名:小茗,年齡:19, 姓名:小紅,年齡:33, 姓名:小李,年齡:39]
結論以後不管何種情況下,只要是進行對象數組的排序都要實現Comparable<>接口
class Persion implements Comparable<Persion>{
private String name;
private int age;
public Persion(String name,int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "姓名:" + this.name + ",年齡:" + this.age;
}
@Override
public int compareTo(Persion o) {
if(this.age > o.age) {
return 1;
}else if(this.age < o.age) {
return -1;
}else {
return 0;
}
}
}
public class Compareable {
public static void main(String args[]) {
Persion per[] =new Persion [] {
new Persion("小李",39),
new Persion("小茗",19),
new Persion("小紅",33)
};
Arrays.sort(per);
System.out.println(Arrays.toString(per));
}
}
返回結果:
[姓名:小茗,年齡:19, 姓名:小紅,年齡:33, 姓名:小李,年齡:39]
結論以後不管何種情況下,只要是進行對象數組的排序都要實現Comparable<>接口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.