本帖最后由 张周飞 于 2014-9-3 16:10 编辑
/**
* 对象比较器
* 作用:对两个后者多个数据项进行比较,以确定他们是否相等或者是确定他们的大小关系及其排序。
* Arrays.sort();方法可实现对象的排序操作
* 自定义对象数组排序(自己设定值/属性 排序)
* 用到的 实现 Comparable接口。
* Comparable接口强制对实现它的每一个类的对象进行整体排序,这种排序叫:自然排序
*
* 类的:int CompareTo(T O)方法被称为:自然比较方法。
* 原型:public interface Comparable<T>{ //T类型/此类的对象名
* int CompareTo(T O);
* >>>>>>>>比较此对象于指定对象的排序 int CompareTo(T O) // T此/当前对象 O参数对象<<<<<<<<<<<<
* 如果:当前对象 > 参数对象 返回正整数 一般为 1
* 当前对象 < 参数对象 返回负整数 一般为 -1
* 当前对象 = 参数对象 返回 0
* }
* @author Administrator
*
*/代码一:package com.vice.personsortDemo;
import java.util.Arrays;
public class personsortDemo {
public static void main(String[] args) {
String[] names={"苍井空","松岛枫","武藤兰","吉泽明步","波多野结衣","小泽玛利亚","泷泽萝拉","美惠子"};
Arrays.sort(names);
System.out.println(Arrays.toString(names));
//------------------/以下是/--------------------
Person[] persons={ new Person("苍井空",27),new Person("松岛枫",13),
new Person("吉泽明步",33),new Person("波多野结衣",44),
new Person("小泽玛利亚",9),new Person("泷泽萝拉",24),
new Person("美惠子",14),new Person("武藤兰",30)
};
Arrays.sort(persons);
System.out.println(Arrays.toString(persons));
}
}
代码二:核心方法
package com.vice.personsortDemo;
public class Person implements Comparable< Person >{ //< Person >当前 /此类的对象名
private String name;
private int age;
public Person(){}
public Person(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;
}
@Override
public String toString() { //toString方法
return " Person [name=" + name + ",age=" + age + "]";
}
@Override
public int compareTo(Person o) {
//实现:对象之间的比较规则--自己定义规则
//比如 这里我就 就按照年龄来比较了【也可按照name比较 那样字符串的话 是按照ASCII码 比较的】
if(o==null){ //比较的对象如果为空的话 我就抛出一个异常【自己可自定义】
throw new NullPointerException();
}
if(this.age<o.age){ // 当前对象 > 参数对象 返回正整数 一般为 1
return -1;
}
if(this.age>o.age){ // 当前对象 < 参数对象 返回负整数 一般为 -1
return 1;
}
return 0; //当前对象 = 参数对象 返回 0
}
}
-----------------------{:3_67:}骚年@ 明白了吗?...................................................
|