Manchmal, wenn Sie Ihre eigene Seite zusammenfassen und sortieren müssen, wie sortiert die Liste ein bestimmtes Attribut? Teilen Sie ein kleines Beispiel, jeder ermutigt Sie, ich hoffe, es wird Ihnen nützlich sein. Bitte geben Sie mir einen Rat.
1. Die Bean des Studenten ist wie folgt:
public class Student {private int age;private String name;private String weight;public String getWeight() {return weight;}public void setWeight(String weight) {this.weight = weight;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = Name;}}2. Sortieren Sie nach dem Int -Typ -Attribut des Objekts in der Liste
/*** Sortieren Sie nach dem Attribut eines int -Typs in Liste* @param list*/@unterdrücktewarnings ("deaktiviert") public static void sortintMethod (Liste) {collections.sort (Liste, neuer Vergleicher () {@oversidepublic Int Compare (Objekt O1, Objekt O2) {student stu1 = (student) o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; o1; O1; O1; stu2 = (student) o2; if (stu1.getage ()> stu2.getage ()) {return 1;} else if (stu1.getage () == stu2.getage ()) {return 0;} else {return -1;}}}); System.out.println ("////////////// 排序之后 /////////////////"); für (int i = 0; i <list.size (); i ++) {student st = (student) list.get (i); System.out.println ("St.age ="+St.Getage ()+", St.Name ="+St.GetName ()); }}3.. Sortieren Sie nach den Eigenschaften des String -Typs des Objekts in der Liste
1) Methode 1:
/*** Sortieren Sie nach dem Attribut eines String -Typs in der Liste* @param list*/@unterdrückungswarnings ("Unkontrolliert") public static void sortstringMethod (Listliste) {collections.sort (Liste, neuer Vergleicher () {@oversidePublic Int Compare (Objekt O1, Objekt O2) {Student Stu1 = (Student) O1; stu1.getName (). vergleicheto (stu2.getName ());}}); System.out.println ("///////////////////////////////////////////////////////////"); für (int i = 0; i <list.size (); i ++) {student st = (student) list.get (i); System.out.println ("St.age ="+St.Getage ()+", St.Name ="+St.GetName ()); }} 2) Methode 2:
Implementiert mit java.text.rulebasedCollator, um String -Vergleiche durchzuführen, die das Gebietsschema unterscheiden:
/*** Sortieren nach Attributen eines String -Typs in der Liste* @param list*/@unterdrückungswarnings ("deaktiviert") public static void SortByRulebasedCollator (Liste) {collections.sort (Liste, neuer Vergleicher () {@overidepublic Int Compare (Objekt O1, Objekt O2) {Rückkehr . ((Schüler) O2) .getName ());}}); für (int i = 0; i <list.size (); i ++) {student st = (student) list.get (i); System.out.println ("St.age ="+St.Getage ()+", St.Name ="+St.GetName ()); }}4. Testen Sie die Sortiermethode
@SuppressWarnings ("Deaktiviert") public static void main (String [] args) {ArrayListliste = new ArrayList (); Student t1 = new student (); t1.setage (35); Student (); t2.setage (4); t2.setname ("Lisi"); list.add (t2); Student t3 = neuer student (); t3.setage (56); t3 Student (); t4.setage (39); t4.setname ("waanglei"); list.add (t4); System.out.println ("St.age ="+St.Getage ()+", St.Name ="+St.GetName ()); } // sortieren nach den Eigenschaften des Int -Typs in List SortintMethod (Liste); // sortieren nach den Eigenschaften des String -Typs in List SortstringMethod (Liste);} 5. Ergebnisse