まず、この静的メソッドpublic static <t> voidソート(リスト<t>リスト、比較<?スーパーt> c)を見ることができます
1.最初にモデルを定義します。
コードコピーは次のとおりです。
パッケージモデル。
/**
* user.java
*
* @author liang WP 2014年3月3日
*/
パブリッククラスユーザー
{
プライベート文字列ユーザー名;
プライベートINTユーザー。
public user()
{
}
パブリックユーザー(string username、int userage)
{
this.username = username;
this.userage = userage;
}
public string getUsername()
{
ユーザー名を返します。
}
public void setusername(string username)
{
this.username = username;
}
public int getUserage()
{
ユーザーを返します。
}
public void setuserage(int userage)
{
this.userage = userage;
}
}
2。次に、コンパレータを定義し、java.util.comparatorインターフェイスを実装し、比較ルールを比較()メソッドに書き込みます。
コードコピーは次のとおりです。
パッケージutil;
java.util.comparatorをインポートします。
import model.user;
/**
* comparatoruser.java
*
* @author liang WP 2014年3月3日
*/
Public Class ComparatorUserはComparator <user>を実装します
{
@オーバーライド
public int compare(user arg0、user arg1)
{
//最初に名前を比較します
int flag = arg0.getusername()。compareto(arg1.getusername());
//名前が同じ場合、年齢と比較されます
if(flag == 0)
{
return arg0.getuserage() - arg1.getuserage();
}
フラグを返します。
}
}
3.並べ替えるときは、java.util.collectionsでsort(list list、comparator c)メソッドを使用します。
コードコピーは次のとおりです。
パッケージテスト;
java.util.arraylistをインポートします。
java.util.collectionsをインポートします。
java.util.listをインポートします。
util.comparatoruserをインポートします。
Import Model.user;
/**
* testapp.java
*
* @author liang Weiping 2014年3月3日
*/
パブリッククラスのtestapp
{
public static void main(string [] arg0)
{
List <user> userlist = new ArrayList <user>();
//データを挿入します
userlist.add(new user( "a"、15));
userlist.add(new user( "b"、14));
userlist.add(new user( "a"、14));
// 選別
collections.sort(userlist、new Comparatoruser());
//結果を印刷します
for(useru:userlist)
{
system.out.println(u.getusername() + "" + u.getuserage());
}
}
}
4。操作結果:
コードコピーは次のとおりです。
14
15
B 14