import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test
{
/**
* @param args
*/
public static void main(String[] args)
{
ArrayList<Animal> list2 = new ArrayList<>();
list2.add(new Animal("A", 63));
list2.add(new Animal("D", 34));
list2.add(new Animal("J", 1));
list2.add(new Animal("B", 13));
list2.add(new Animal("B", 1));
list2.add(new Animal("E", 27));
//参数 1: 要排序的容器
//参数 2: 裁判 Comparator的对象
Comparator<Animal> c = new Comparator<Animal>()
{
@Override
public int compare(Animal o1, Animal o2)
{ // 返回值 > 0 o1比o2的对象 大
// = 0 一样大
// < 0 小
int i = o1.getAge() - o2.getAge();
if(i == 0)
{
i = o1.getName().compareTo(o2.getName());
}
return i;
}
};
Collections.sort(list2, c);
System.out.println(list2);
}
public static void mySort(List list,Comparator comparator)
{
for (int i = 0; i < list.size() - 1; i++)
{
for (int j = 0; j < list.size() - 1 - i; j++)
{
Object o1 = list.get(j);
Object o2 = list.get(j + 1);
if(comparator.compare(o1, o2) > 0)//判断大小
{
list.set(j, o2);
list.set(j + 1, o1);
}
}
}
}
}