Иногда, когда вам нужно инкапсулировать и сортировать свою собственную страницу, как список сортирует определенный атрибут? Поделитесь небольшим примером, все поощряют вас, я надеюсь, что это будет полезно для вас. Пожалуйста, дайте мне несколько советов.
1. Студенческий боб выглядит следующим образом:
Общественный класс Студент {private int age; private String name; Private String Wews; public String get -Weight () {return Weight;} public void с легким весом (вес строки) {this.weight = wews;} public int getage () {return age;} public void setage (int age) {this.age = age;} public String getName () {return name;} public void setNam2. Сортировать по атрибуту типа INT объекта в списке
/*** Сортировать по атрибуту типа int типа в списке* @param list*/@suppresswarnings ("unchecked") public static void sortintmethod (список) {collections.sort (список, новый компаратор () {@overridepublic int compare (объект o1, объект O2) {Студент STU1 = (студент) O1; Студент; stu2 = (студент) o2; if (stu1.getage ()> stu2.getage ()) {return 1;} else if (stu1.getage () == stu2.getage ()) {return 0;} else {return -1;}}}); System.out.println ("///////////////////////////////"); for (int i = 0; i <list.size (); i ++) {Student st = (студент) list.get (i); System.out.println ("st.age ="+st.letgege ()+", st.name ="+st.getname ()); }}3. Сортировать по свойствам типа строки объекта в списке
1) Метод 1:
/*** Сортировать по атрибуту типа строки в списке* @param list*/@suppresswarnings ("unchecked") public static void sortstringmethod (список) {collections.sort (list, new Comparator () {@overridepublic int compare (объект O1, объект O2) {Студент STU1 = (Студент) O1; stu1.getName (). Compareto (stu2.getName ());}}); System.out.println ("/////////////////////////////////////////"); for (int i = 0; i <list.size (); i ++) {Student st = (студент) list.get (i); System.out.println ("st.age ="+st.letgege ()+", st.name ="+st.getname ()); }} 2) Метод 2:
Реализовано с использованием java.text.rulebasedcollator для выполнения сравнений строк, которые различают локали:
/*** Сортировать по атрибутам типа строки в списке* @param list*/@puspresswarnings ("unchecked") public static void sortbyrulebasedcollator (список) {collections.sort (list, new Comparator () {@overpublic int compare (Object O1, Object O2) {return () {@overpublic int compare (объект O1, Object O2) ((java.text.rulebasedcollator) java.text.collator.getinstance (java.util.locale.china)). Сравнение (((студент) O1) .getName (), (((Студент) O2) .getName ());}}); System.out.println ("//////////////////////////////"); for (int i = 0; i <list.size (); i ++) {Student st = (студент) list.get (i); System.out.println ("st.age ="+st.letgege ()+", st.name ="+st.getname ()); }}4. Проверьте метод сортировки
@Suppresswarnings ("unchecked") public static void main (string [] args) {arraylist list = new ArrayList (); студент T1 = новый студент (); t1.setage (35); t1.setname ("wanglei"); list.add (t1); студент T2 = новый Студент (); T2.Setage (4); T2.SetName ("LISI"); List.Add (T2); студент T3 = New Student (); T3.Setage (56); T3.SetName ("Zhonghua"); List.Add (t3); студент t4 = новый STUNDE (); T4.Setage (39); T4.SetName ("waanglei"); list.add (t4); System.out.println ("//////////////////////////////"); для (int i = 0; i <list.size (); i ++); System.out.println ("st.age ="+st.letgege ()+", st.name ="+st.getname ()); } // Сортировать в соответствии с свойствами int type in list sortintmethod (list); // Сортировать в соответствии со свойствами типа строки в списке SortStringMethod (List);} 5. Результаты