A veces, cuando necesita encapsular y ordenar su propia página, ¿cómo clasifica la lista un cierto atributo? Comparte un pequeño ejemplo, todos te animan, espero que te sea útil. Por favor dame algún consejo.
1. El frijol del estudiante es el siguiente:
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 setname (name de la cadena)2. Ordenar por el atributo de tipo int del objeto en la lista
/*** Ordena mediante el atributo de un tipo int type in List* @param list*/@supressWarnings ("sin verificar") public static void sortintmethod (list list) {collections.sort (lista, nuevo comparador () {@overridePublic int Compare (objeto o1, objeto o2) {estudiante stu1 = (estudiante) o1; estudiante stu2 = (estudiante) 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 ++) {estudiante st = (estudiante) list.get (i); System.out.println ("St.age ="+St.getage ()+", St.Name ="+St.GetName ()); }}3. Ordene por las propiedades del tipo de cadena del objeto en la lista
1) Método 1:
/*** Ordena mediante el atributo de una cadena tipo de cadena en la lista* @param list*/@supressWarnings ("sin verificar") public static void sortStringMethod (list list) {collections.sort (list, new comparator () {@overpublic int (objeto o1, objeto o2) {estudiante stu1 = (student) o1; stu2 = ((overridePublic) stu1.getName (). Compareto (stu2.getName ());}}); System.out.println ("///////////////////////////////////"); for (int i = 0; i <list.size (); i ++) {estudiante st = (estudiante) list.get (i); System.out.println ("St.age ="+St.getage ()+", St.Name ="+St.GetName ()); }} 2) Método 2:
Implementado con java.text.ruleBasedCollator para realizar comparaciones de cadenas que distinguen la configuración regional:
/*** ordenar por atributos de una cadena tipo de cadena en la lista* @param list*/@supressWarnings ("no dialado") public static void void sortbyruleBasedCollator (list list) {collections.sort (list, new comparator () {@@overridepublic int -compare (objeto o1, objeto o2) {retorno ((java.text.ruleBasedCollator) java.text.collator.getInstance (java.util.locale.china)). Compare (((estudiante) o1) .getName (),,,) ((Estudiante) o2) .getName ());}}); system.out.println ("//////////// 排序之后 //////////////"); for (int i = 0; i <list.size (); i ++) {estudiante st = (estudiante) list.get (i); System.out.println ("St.age ="+St.getage ()+", St.Name ="+St.GetName ()); }}4. Pruebe el método de clasificación
@SupplesSwarnings ("no controlado") public static void main (string [] args) {arrayList list = new ArrayList (); Student t1 = new Student (); t1.setage (35); t1.setName ("wanglei"); list.add (t1); estudiante t2 = new neo Estudiante (); t2.setage (4); t2.setName ("lisi"); list.add (t2); estudiante t3 = nuevo estudiante (); t3.setage (56); t3.setName ("zhonghua"); list.add (t3); estudiante t4 = nuevo Student();t4.setAge(39);t4.setName("waanglei");list.add(t4);System.out.println("/////////////排序之前///////////////");for(int i=0;i<list.size();i++){ Student st=(Student)list.get(i); System.out.println ("St.age ="+St.getage ()+", St.Name ="+St.GetName ()); } // ordenar de acuerdo con las propiedades de int type in list sortIntMethod (lista); // Ordenar de acuerdo con las propiedades del tipo de cadena en la lista SortStringMethod (List);} 5. Resultados