java实现中文排序


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);
                }
            }
        }
    }

}
原文地址:https://www.cnblogs.com/xyyou/p/12228129.html