java排序函式Arrays.sort對類排序
阿新 • • 發佈:2019-02-14
在使用排序函式的時候,都要考慮一個排序的方式,尤其是自定義變數,有多個屬性,是以哪一個屬性進行排序。
在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); } }