Comparator挽救比较器
挽救比较器
类已经定义了不能修改类
class Persion{
private String name;
private int 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;
}
public Persion(String name,int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "姓名:" + this.name + ",年龄:" + this.age;
}
}
class PersionComparator implements Comparator<Persion>{
@Override
public int compare(Persion arg0, Persion arg1) {
// TODO Auto-generated method stub
return arg0.getAge()-arg1.getAge();
}
}
public class CompareTor {
public static void main(String args[]) {
Persion per[] =new Persion [] {
new Persion("小李",39),
new Persion("小茗",19),
new Persion("小红",33)
};
Arrays.sort(per,new PersionComparator());
System.out.println(Arrays.toString(per));
}
}
在进行对象数组排序的过程中需要使用比较器,比较器有两个
java.lang.Comparable是在类定义的时候默认实现好的接口,里面提供了一个compareTo()
java.util.Comparator需要单独定义一个排序的配角规则类里面有两个方法compare和equals()
类已经定义了不能修改类
class Persion{
private String name;
private int 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;
}
public Persion(String name,int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "姓名:" + this.name + ",年龄:" + this.age;
}
}
class PersionComparator implements Comparator<Persion>{
@Override
public int compare(Persion arg0, Persion arg1) {
// TODO Auto-generated method stub
return arg0.getAge()-arg1.getAge();
}
}
public class CompareTor {
public static void main(String args[]) {
Persion per[] =new Persion [] {
new Persion("小李",39),
new Persion("小茗",19),
new Persion("小红",33)
};
Arrays.sort(per,new PersionComparator());
System.out.println(Arrays.toString(per));
}
}
在进行对象数组排序的过程中需要使用比较器,比较器有两个
java.lang.Comparable是在类定义的时候默认实现好的接口,里面提供了一个compareTo()
java.util.Comparator需要单独定义一个排序的配角规则类里面有两个方法compare和equals()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.