ホームページ >Java >&#&チュートリアル >java Collections.sort() は、リストの並べ替えのデフォルト メソッドとカスタム メソッドを実装します。
1. java
メインコードによって提供されるデフォルトのリストソートメソッド:
List
list.add("Wang Shuo ") ;
list.add("李明");
list.add("劉迪");
list.add("劉布");
//昇順
Collections.sort(list,Collator) .getInstance( java.util.locale.china); // 注: 漢字の一般的な並べ替え方法ではなく、漢字のピンインの発音文字によって並べ替えられます。 System.out.print(list .get(i)); の場合は、文字でもソートされます
Li Ming Liu Bu Liu Di Liu Yuanyuan Wang Shuo
Wang Shuo Liu Yuanyuan Li u Di Liu Bu Li Ming
2. カスタマイズされた並べ替えルール:
モデル クラス:
{
private String name;private int age;public String getName()
{return name; } VPublic void setname (String name) {
this.Name = name}
Public objtype () {
Return Type;
}}}}} tum)
{) this.age = age;
@Override
public int CompareTo(Object o)
: enum-type の比較は次のものに依存しますenum メソッドのタイプのリスト順序
return this.age.compareTo(otherAge);
}
Main メソッド:
public static void main(String[] args)
s .setAge(22);
studentList.add(s1);
StudentDTO s1 = new StudentDTO (); s.setAge(23) ;
studentsList.add (s2);
Collections.sort(studentList) // 22歳、23歳の昇順で
Collections.reverse(studentList); // 年齢が高い順に23、22
}
2 つ目は比較です。 Comparator クラスは Comparator インターフェイスを実装し、int Compare(Object o1, Object o2) メソッドをオーバーライドします。 public String getName( )
名前を返します。
public void setName(String name)
{
this.name = name;
}
public ObjType getType()
{
return type;
}
public void setAge(int age)
{
this.age= age;
}
}
比较器类:
class MyCompartor は Comparator を実装します
{
@Override
public int Compare(Object o1, Object o2)
{
StudentDTO sdto1= (StudentDTO )o1;
StudentDTO sdto2= (StudentDTO )o2;
return sdto1.getAge.compareTo(stdo2.getAge())
}
}
主メソッド:
public static void main(String[] args)
{
リスト
StudentDTO s1 = new StudentDTO ();
s.setName("yuanyuan");
s.setAge(22);
studentList.add(s1);
StudentDTO s1 = new StudentDTO ();
s.setName("lily");
s.setAge(23);
studentList.add(s2);
MyComparetor mc = new MyComparetor();
コレクションソート(学生リスト、MC); //按照年齢升序 22,23,
Collections.reverse(studentList,mc); //按照年齢降順 23,22
}
附注:
1.数组的排序方法如下:
String[] names = {"王林", "杨宝", "李「镇」、「刘迪」、「刘波」};
Arrays.sort(names, com.ibm.icu.text.Collator.getInstance(com.ibm.icu.util.ULocale.SIMPLIFIED_CHINESE));//升序;
System.out.println(Arrays.toString(names));
2. 汉字の順序: ICU4J を使用するとより良い結果が得られます、特に姓が特定の生字の場合、
com.ibm.icu.text.Collator の代わりに java.text.Collator、 com.ibm.icu.util.ULocale 代替java.util.Locale
3. 列の型の enum1.compareTo(enum2) は、列の型の指定時の先次順序比較、次の次の面を超えます。素晴らしい、
ではなく、写真の値の字母よりも前の順序です。
以上がjava Collections.sort() は、リストの並べ替えのデフォルト メソッドとカスタム メソッドを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。