下面是一组对数组对象进行排序的代码:
package com.sun; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; public class Test09 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub Dog dog[] = new Dog[3];
dog[0]= new Dog("wangchai",10);
dog[1]= new Dog("laifu",9);
dog[2]= new Dog("ww",20);
Arrays.sort(dog); for(int i=0;i<dog.length;i++){
System.out.println(dog[i].name);
}
} } class Dog implements Comparable{
public Integer tizhong = 0;
public String name = "";
public Dog(String name, int tizhong) {
this.name = name;
this.tizhong = tizhong;
}
//按年龄排序
@Override
/* public int compareTo(Object o) {
// TODO Auto-generated method stub
Dog s=(Dog)o;
return tizhong>s.tizhong?1:(tizhong==s.tizhong?0:-1);
}*/
//按名字排序
/* public int compareTo(Object o)
{
Dog s=(Dog)o;
int result=name.compareTo(s.name);
return result;
}*/
//如果先按数字再按字符排序,则这样写:
public int compareTo(Object o)
{
Dog s=(Dog)o;
int result= tizhong>s.tizhong?1:(tizhong==s.tizhong?0:-1);
if (0==result){
result=name.compareTo(s.name);
}
return result;
} }