logo

コレクション内の並べ替え

次の要素を並べ替えることができます。

  1. 文字列オブジェクト
  2. ラッパークラスオブジェクト
  3. ユーザー定義のクラスオブジェクト
コレクション クラスは、コレクションの要素を並べ替えるための静的メソッドを提供します。コレクション要素が Set 型の場合は、TreeSet を使用できます。ただし、List の要素を並べ替えることはできません。 Collections クラスは、List 型要素の要素を並べ替えるメソッドを提供します。

List要素をソートするためのCollectionsクラスのメソッド

public void sort(リストリスト): List の要素をソートするために使用されます。リスト要素は Comparable 型である必要があります。

注: String クラスと Wrapper クラスは Comparable インターフェイスを実装します。したがって、文字列クラスやラッパークラスのオブジェクトを格納すると、Comparableになります。

文字列オブジェクトをソートする例

 import java.util.*; class TestSort1{ public static void main(String args[]){ ArrayList al=new ArrayList(); al.add('Viru'); al.add('Saurav'); al.add('Mukesh'); al.add('Tahir'); Collections.sort(al); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } } 
今すぐテストしてください
 Mukesh Saurav Tahir Viru 

文字列オブジェクトを逆順にソートする例

 import java.util.*; class TestSort2{ public static void main(String args[]){ ArrayList al=new ArrayList(); al.add('Viru'); al.add('Saurav'); al.add('Mukesh'); al.add('Tahir'); Collections.sort(al,Collections.reverseOrder()); Iterator i=al.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } } 
 Viru Tahir Saurav Mukesh 

Wrapperクラスのオブジェクトをソートする例

 import java.util.*; class TestSort3{ public static void main(String args[]){ ArrayList al=new ArrayList(); al.add(Integer.valueOf(201)); al.add(Integer.valueOf(101)); al.add(230);//internally will be converted into objects as Integer.valueOf(230) Collections.sort(al); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } } 
 101 201 230 

ユーザー定義クラスオブジェクトをソートする例

 import java.util.*; class Student implements Comparable { public String name; public Student(String name) { this.name = name; } public int compareTo(Student person) { return name.compareTo(person.name); } } public class TestSort4 { public static void main(String[] args) { ArrayList al=new ArrayList(); al.add(new Student('Viru')); al.add(new Student('Saurav')); al.add(new Student('Mukesh')); al.add(new Student('Tahir')); Collections.sort(al); for (Student s : al) { System.out.println(s.name); } } } 
 Mukesh Saurav Tahir Viru