這篇文章主要講解了Java如何實現(xiàn)對象按照其屬性排序,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
創(chuàng)新互聯(lián)專注于企業(yè)成都全網營銷、網站重做改版、扶余網站定制設計、自適應品牌網站建設、成都h5網站建設、成都做商城網站、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為扶余等各大城市提供網站開發(fā)制作服務。
有時候需要對對象列表或數(shù)組進行排序,下面提供兩種簡單方式:
方法一:將要排序的對象類實現(xiàn)Comparable<>接口。
首先,創(chuàng)建學生類,我們將根據(jù)學生成績對學生進行排序:
/** * 學生類 */ class Student implements Comparable{ String name; int age; int score; public Student(String name, int age,int score) { this.name = name; this.age = age; this.score = score; } @Override public int compareTo(Studento) { // TODO Auto-generated method stub return this.age - o.age; } }
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub ArrayListstudents = new ArrayList<>(); students.add(new Student("大銘", 19, 89)); students.add(new Student("來福", 26, 90)); students.add(new Student("倉頡", 23, 70)); students.add(new Student("王磊", 18, 80)); System.out.println("排序前:"); for (Student student : students) { System.out.println("姓名:"+student.name+" 年齡:"+student.age+" 成績:"+student.score); } // 排序 Collections.sort(students); System.out.println("排序后:"); for (Student student : students) { System.out.println("姓名:"+student.name+" 年齡:"+student.age+" 成績:"+student.score); } } }
同理,也可以根據(jù)對象的其他屬性進行排序。
方法二:使用Comparator匿名內部類實現(xiàn)。
還是使用同一個例子,按成績將學生排序:
/** * 學生類 */ class Student { String name; int age; int score; public Student(String name, int age,int score) { this.name = name; this.age = age; this.score = score; } }
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub ArrayListstudents = new ArrayList<>(); students.add(new Student("大銘", 19, 89)); students.add(new Student("來福", 26, 90)); students.add(new Student("倉頡", 23, 70)); students.add(new Student("王磊", 18, 80)); System.out.println("排序前:"); for (Student student : students) { System.out.println("姓名:"+student.name+" 年齡:"+student.age+" 成績:"+student.score); } Collections.sort(students,new Comparator () { @Override public int compare(Student o1, Student o2) { // TODO Auto-generated method stub return o1.age-o2.age; } }); System.out.println("排序后:"); for (Student student : students) { System.out.println("姓名:"+student.name+" 年齡:"+student.age+" 成績:"+student.score); } } }
也可以實現(xiàn)按對象屬性將對象列表排序。
看完上述內容,是不是對Java如何實現(xiàn)對象按照其屬性排序有進一步的了解,如果還想學習更多內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。