Anda pertama -tama dapat melihat metode statis statis ini statis <T> void sort (daftar <T> Daftar, pembanding <? Super t> c)
1. Tentukan model terlebih dahulu:
Salinan kode adalah sebagai berikut:
model paket;
/**
* User.java
*
* @Author Liang WP 3 Maret 2014
*/
pengguna kelas publik
{
nama pengguna string pribadi;
Userage Int Private;
pengguna publik ()
{
}
Pengguna Publik (nama pengguna String, Int Userage)
{
this.username = nama pengguna;
this.userage = userage;
}
string publik getusername ()
{
mengembalikan nama pengguna;
}
public void setusername (string username)
{
this.username = nama pengguna;
}
Public Int GetUserage ()
{
mengembalikan userage;
}
Setuserage public void (int userage)
{
this.userage = userage;
}
}
2. Kemudian tentukan komparator, implementasikan antarmuka java.util.comparator, dan tulis aturan perbandingan dalam metode perbandingan ():
Salinan kode adalah sebagai berikut:
paket util;
impor java.util.comparator;
impor model.user;
/**
* ComparatatorUser.java
*
* @Author Liang WP 3 Maret 2014
*/
ComparatorUser kelas publik mengimplementasikan pembanding <user>
{
@Mengesampingkan
Public int Compare (pengguna arg0, pengguna arg1)
{
// Bandingkan namanya dulu
int flag = arg0.getUserName (). compareTo (arg1.getusername ());
// Jika namanya sama, itu akan dibandingkan dengan usia
if (flag == 0)
{
return arg0.getUserage () - arg1.getUserage ();
}
pengembalian bendera;
}
}
3. Saat menyortir, gunakan metode sortir (daftar, pembanding c) di java.util.collections:
Salinan kode adalah sebagai berikut:
tes paket;
impor java.util.arraylist;
impor java.util.collections;
impor java.util.list;
impor util.comparatoruser;
impor model.user;
/**
* Testapp.java
*
* @Author Liang Weiping 3 Maret 2014
*/
TestApp kelas publik
{
public static void main (string [] arg0)
{
Daftar <User> userList = new ArrayList <User> ();
// Masukkan data
userlist.add (pengguna baru ("a", 15));
userlist.add (pengguna baru ("b", 14));
userlist.add (pengguna baru ("A", 14));
// urutkan
Collections.sort (UserList, new comparatorUser ());
// Cetak hasilnya
untuk (pengguna u: daftar pengguna)
{
System.out.println (u.getUserName () + "" + u.getUserage ());
}
}
}
4. Hasil Operasi:
Salinan kode adalah sebagai berikut:
A 14
A 15
B 14