Sie können sich zuerst diese statische Methode public static <T> void -Sortierung ansehen (Liste <T> Liste, Vergleiche <? Super T> C)
1. Definieren Sie zuerst ein Modell:
Die Codekopie lautet wie folgt:
Paketmodell;
/**
* User.java
*
* @Author Liang WP 3. März 2014
*/
Benutzer der öffentlichen Klasse
{
privater String -Benutzername;
private int userage;
öffentlicher Benutzer ()
{
}
öffentlicher Benutzer (String -Benutzername, int Benutzerage)
{
this.username = userername;
this.userage = userage;
}
öffentliche String GetUnername ()
{
Rückgabe -Benutzername;
}
Public void setUnername (String -Benutzername)
{
this.username = userername;
}
public int GetUserage ()
{
Benutzerabgabe zurückgeben;
}
öffentliche void setUserage (int userage)
{
this.userage = userage;
}
}
2. Definieren Sie dann einen Komparator, implementieren Sie die Schnittstelle java.util.comParator und schreiben Sie Vergleichsregeln in der Methode compare ():
Die Codekopie lautet wie folgt:
Paket Util;
Java.util.comParator importieren;
modell import.user;
/**
* ComparatorUser.java
*
* @Author Liang WP 3. März 2014
*/
Public Class Compyatoruser implementiert Komparator <Benutzer>
{
@Override
public int compare (Benutzer arg0, Benutzer arg1)
{
// Vergleichen Sie zuerst die Namen
int flag = arg0.getusername (). vergleicheto (arg1.getUnername ());
// Wenn der Name gleich ist, wird er mit dem Alter verglichen
if (Flag == 0)
{
return arg0.getUserage () - arg1.getUserage ();
}
Rückflagge;
}
}
3. Verwenden Sie beim Sortieren die Sortierliste (Listenliste, Vergleicher c) Methode in java.util.collections:
Die Codekopie lautet wie folgt:
Pakettest;
Import Java.util.ArrayList;
Import Java.util.Collections;
importieren java.util.list;
util.comParatoruser importieren;
modell import.user;
/**
* Testapp.java
*
* @Author Liang Weiping 3. März 2014
*/
öffentliche Klasse testapp
{
öffentliche statische Leere Main (String [] arg0)
{
List <Bener> userList = new ArrayList <Benuche> ();
// Daten einfügen
userList.add (neuer Benutzer ("a", 15));
userList.add (neuer Benutzer ("B", 14));
userList.add (neuer Benutzer ("a", 14));
// sortieren
Collectionss.sort (UserList, New ComparatorUser ());
// das Ergebnis drucken
für (Benutzer u: Benutzerliste)
{
System.out.println (u.getUsername () + "" + u.getUserage ());
}
}
}
4. Betriebsergebnisse:
Die Codekopie lautet wie folgt:
A 14
A 15
B 14