MyDate[] MyDate = new MyDate[10]; MyDate[0] = new MyDate(2009,7,14); MyDate[1] = new MyDate(2008,1,24); MyDate[2] = new MyDate(2009,6,14); MyDate[3] = new MyDate(2009,6,13); MyDate[4] = new MyDate(2004,2,4); MyDate[5] = new MyDate(2001,7,14); MyDate[6] = new MyDate(2006,3,14); MyDate[7] = new MyDate(2006,4,13); MyDate[8] = new MyDate(2002,3,24); MyDate[9] = new MyDate(2005,7,14);
private int year;
private int month;
private int day;
public int compareTo(Object obj) {
MyDate myDate = (MyDate)obj;
if(myDate.year > this.year)
return 1;
else if(myDate.year == this.year){
if(myDate.month>this.month){
return 1;
}else if(myDate.month == this.month){
if(myDate.day>this.day){
return 1;
}else if(myDate.day == this.day){
return 0;
}else{
return -1;
}
}else
return -1;
}else {
return -1;
}
}
public MyDate(){
}
public MyDate(int year,int month,int day){
this.year = year;
this.month = month;
this.day = day;
}
public static void sort(MyDate[] myDate){
System.out.println("排序前:");
for(int i=0; i<myDate.length;i++){
System.out.println(myDate[i].year+"-"+myDate[i].month+"-"+myDate[i].day);
}
MyDate obj = new MyDate();
for(int i=0; i<myDate.length;i++){
for(int j=i+1;j<myDate.length;j++){
if(myDate[i].compareTo(myDate[j])== -1){ //1为降序,-1为升序
obj = myDate[i];
myDate[i]=myDate[j];
myDate[j] = obj;
}
}
}
System.out.println("排序后:");
for(int i=0; i<myDate.length;i++){
System.out.println(myDate[i].year+"-"+myDate[i].month+"-"+myDate[i].day);
}
}
public static void main(String[] args) {
MyDate[] MyDate = new MyDate[10];
MyDate[0] = new MyDate(2009,7,14);
MyDate[1] = new MyDate(2008,1,24);
MyDate[2] = new MyDate(2009,6,14);
MyDate[3] = new MyDate(2009,6,13);
MyDate[4] = new MyDate(2004,2,4);
MyDate[5] = new MyDate(2001,7,14);
MyDate[6] = new MyDate(2006,3,14);
MyDate[7] = new MyDate(2006,4,13);
MyDate[8] = new MyDate(2002,3,24);
MyDate[9] = new MyDate(2005,7,14);
sort(MyDate);
}
}