私はJavaアレイソートの例を書きました、ここで私は誰もが一緒に学ぶためにそれを共有します
コードコピーは次のとおりです。
パッケージcom.yonyou.test;
java.util.arraylistをインポートします。
java.util.collectionsをインポートします。
java.util.comparatorをインポートします。
java.util.listをインポートします。
パブリッククラステスト{
public static void main(string [] args){
学生ZLJ =新しい学生( "Ding Xiaoyu"、21);
学生dxy = new Student( "zhao si"、22);
学生CJC =新しい学生( "Zhang San"、11);
学生lgc = new Student( "liu wu"、19);
リスト<Student> StudentList = new ArrayList <Student>();
StudentList.Add(ZLJ);
StudentList.Add(dxy);
StudentList.Add(CJC);
StudentList.Add(LGC);
system.out.println( "年ごとにソート:");
collections.sort(StudentList、new Sortbyage());
for(学生:学生リスト){
system.out.println(sustent.getname() + " /" + sustent.getage());
}
System.out.println( "==========");
system.out.println( "sorted by name");
collections.sort(Studentlist、new Sortbyname());
for(学生:学生リスト){
system.out.println(sustent.getname() + " /" + sustent.getage());
}
}
}
クラスのソートバージは、コンパレータを実装しています{
public int Compare(オブジェクトO1、オブジェクトO2){
学生S1 =(学生)O1;
学生S2 =(学生)O2;
if(s1.getage()> s2.getage())
返品1;
else if(s1.getage()== s2.getage()){
0を返します。
}
return -1;
}
}
クラスSORTBYNAMEを実装するComparator {
public int Compare(オブジェクトO1、オブジェクトO2){
学生S1 =(学生)O1;
学生S2 =(学生)O2;
if(s1.getname()。compareto(s2.getname())<0)
return -1;
else if(s1.getname()。compareto(s2.getname())> 0){
返品1;
}
0を返します。
}
}
クラスの学生{
プライベートインクエイジ;
プライベート文字列名;
public int getage(){
戻り年齢;
}
public void Setage(int age){
this.age = age;
}
public string getName(){
返品名;
}
public void setName(string name){
this.name = name;
}
パブリック学生(文字列名、int age){
this.age = age;
this.name = name;
}
}