Às vezes, quando você precisa encapsular e classificar sua própria página, como a lista classifica um determinado atributo? Compartilhe um pequeno exemplo, todos o incentivam, espero que seja útil para você. Por favor, me dê alguns conselhos.
1. O feijão do aluno é o seguinte:
public class Student {private Int Age; Nome da String Private; PESO DE STRING PRIVADO; Public String getWeight () {Return Weight;} public void Setweight (String Weight) {this.weight = Weight;} public int getage () {Return string;} public void se setage (Int Age) {this.age = Age;} Public String GetName () {Return Name; nome;}}2. Classificar pelo atributo int tipo do objeto na lista
/*** Classifique pelo atributo de um tipo int na lista* @param list*/@supressorwarnings ("desmarcado") public static void SortIntMethod (lista da lista) {collection.sort (list, new Comparator () {@substituição de substituto int (objeto o1, objeto o2) {aluno) {@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 ("///////////// 排序之后 ///////////////"); 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 ()); }}3. Classifique pelas propriedades do tipo de string do objeto na lista
1) Método 1:
/*** Classifique pelo atributo de um tipo de string na lista* @param list*/@supressorwarnings ("desmarcada") public static void SortStringMethod (lista de lista) {collection.sort (list, new Comparator () {@SubstidePublic int (objeto o1, objeto o2) (aluno) {@(@substituição) o1; stu1.getName (). compareto (stu2.getName ());}}); 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 ()); }} 2) Método 2:
Implementado usando java.text.rulebasedCollator para executar comparações de strings que distinguem Locale:
/*** Classifique por atributos de um tipo de string na lista* @param list*/@supressorwarnings ("desmarcado") public static void SortByRuleBasedCollator (list List) {Coleções.sort (list, new Comparator () {@SubstridePublic int (objeto o1, objeto o2) {retorno () {@substituição ((java.text.ruleBasedCollator) java.text.collator.getInstance (java.util.locale.china)). Compare (((estudante) o1) .getName (), ((Aluno) o2) .getName ());}}); 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 ()); }}4. Teste o método de classificação
@Suppresswarnings ("desmarcado") public static void main (string [] args) {ArrayList list = new ArrayList (); Student t1 = new Student (); t1.setage (35); t1.setName (" Estudante (); t2.Setrage (4); t2.SetName ("lisi"); list.add (t2); aluno t3 = new Student (); t3.setage (56); t3.setName ("zhonghua"); list.add (t3); aluno t4 = novo Estudante (); t4.setage (39); t4.SetName ("wonanganglei"); list.add (t4); system.out.println ("////////////////////tive) (); System.out.println ("St.age ="+St.Getage ()+", St.Name ="+St.getName ()); } // classificar de acordo com as propriedades do tipo int no list SortIntMethod (List); // classificar de acordo com as propriedades do tipo de string na lista SortStringMethod (List);} 5. Resultados