方法1:コンパレータインターフェイスを実装し、比較方法をオーバーライドします
エンティティクラスコード:
java.util.comparator;/***学生クラスのメソッド1*比較方法を実装し、比較方法を上書き* @author liaot**/public class Student emplmention Comparator <sudtent> {private string name; //プライベートint age; //年齢/比較方法の書き換えこの例は、年齢@Override public int compare(Student o1、sudent o2){o1.getage()> o2.getage()){return 1; } else {return -1; }} public Student(string name、int age){super(); this.name = name; this.age = age; } public string getname(){return name; } public void setName(string name){this.name = name; } public int getage(){return age; } public void Setage(int age){this.age = age; }}テストクラス:
Import java.util.arraylist; Import java.util.collections; Import java.util.list; public class main {public static void main(string [] args){// 4人の異なる学生Stu1 = New Student( "Passy A"、20);学生stu2 = new Student( "Passy A"、18);学生Stu3 = New Student( "Passy C"、16);学生stu4 = new Student( "Passy C"、19); //リストをリストに追加する新しいリストを作成します<Student> stulist = new ArrayList <>(); stulist.add(stu1); stulist.add(stu2); Stulist.Add(STU3); stulist.add(stu4); System.out.println( "sorting前:======"); for(Student Stu:Stulist){system.out.println( "name:"+stu.getname()+"age"+stu.getage()); } //コレクションのソート(Stulist、Stu1); //最初のパラメーターはリストです2番目のパラメーターはオブジェクトSystem.out.println( "sorted:====="); for(Student Stu:Stulist){system.out.println( "name:"+stu.getname()+"age"+stu.getage()); }}}実行結果:
方法2:同等のインターフェイスを実装し、比較方法をオーバーライドします
/** *学生クラスの方法2は、比較可能なインターフェイスを実装し、比較方法を書き直します * * @author liaot * */public class student2を実装します。 //プライベートint age; // age //比較方法を書き直すこの例は、age @override public int compareto(desudent2 stu){if(this.age> stu.getage()){return 1; } else {return -1; }} public Student2(string name、int age){super(); this.name = name; this.age = age; } public string getname(){return name; } public void setName(string name){this.name = name; } public int getage(){return age; } public void Setage(int age){this.age = age; }}テストクラス
Import java.util.arraylist; import java.util.collections; import java.util.list; public static void main(string [] args){// 4人の異なる学生Student2 stu1 = new sustent2( "passy a"、20); Student2 stu2 = new Student2( "passy a"、18); Student2 Stu3 = new Student2( "Passy C"、16); Student2 Stu4 = new Student2( "Passy C"、19); //リストにリストに追加する新しいリストを作成します<Student2> stulist = new ArrayList <>(); stulist.add(stu1); stulist.add(stu2); Stulist.Add(STU3); stulist.add(stu4); System.out.println( "sorting前:======"); for(student2 stu:stulist){system.out.println( "name:"+stu.getname()+"age"+stu.getage()); } // sort collections.sort(stulist); // 1つのパラメーターのみがlist System.out.println( "sorted:====="); for(student2 stu:stulist){system.out.println( "name:"+stu.getname()+"age"+stu.getage()); }}}実行結果
3。概要:書き込みと2つの方法の使用法の違い:
リスト内のオブジェクトの属性による上記のJavaソート方法は、私があなたと共有するすべてのコンテンツです。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。