java排序函数Arrays.sort对类排序

  在使用排序函数的时候,都要考虑一个排序的方式,尤其是自定义变量,有多个属性,是以哪一个属性进行排序。

在C++中可以定义一个结构体,再使用algorithm库中的sort对变量数组进行排序,内部使用的是快速排序,前面介绍过快排的过程。同样java中也有个sort,同样可以设置排序方法。

import java.util.Arrays;
public class Main {

    public class goods{
        public int v1,v2,v3;
        public void insert(int a1,int a2,int a3){
            v1=a1;
            v2=a2;
            v3=a3;
        }
    }

    goods[] gg=new goods[10];
    public static void main(String[] args){
        for(int j=0;j<10;j++)
        {
            gg[j]= new Main().new goods();
            int v1=j;
            int v3=j%2==0?j+5:j-5;
            int v2=v3+j/2;
            gg[j].insert(v1,v2,v3);
        }

        Arrays.sort(gg,new Comparator<goods>(){
            @Override
            public int compare(goods o1, goods o2){
                return o2.v2 - o1.v2;
            }
        });

        for(int j=0;j<10;j++)
            System.out.println(gg[j].v1+" "+gg[j].v2+" "+gg[j].v3);
    }
}

猜你喜欢

转载自blog.csdn.net/dt_zhangshuo/article/details/81085124