-
Comparableインターフェースを実装する方法: Comparableインターフェースを実装してオブジェクトを比較可能にすることで、リストの要素をソートできます。以下は例です。
import java.util.*; public class CustomComparatorExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Orange"); Collections.sort(list); // デフォルトの自然順序でソート System.out.println("ソート後のリスト: " + list); } }
-
Comparatorインターフェースを使用する方法: Comparatorインターフェースを実装し、カスタムコンパレータを作成することで、リストの要素を独自の順序でソートできます。以下は例です。
import java.util.*; public class CustomComparatorExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Orange"); // 長さでソートするカスタムコンパレータ Comparator<String> lengthComparator = new Comparator<String>() { @Override public int compare(String s1, String s2) { return Integer.compare(s1.length(), s2.length()); } }; Collections.sort(list, lengthComparator); System.out.println("ソート後のリスト: " + list); } }
-
ラムダ式を使用する方法: Java 8以降では、ラムダ式を使用して簡潔なカスタムコンパレータを作成できます。以下は例です。
import java.util.*; public class CustomComparatorExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Orange"); // 長さでソートするカスタムコンパレータ Comparator<String> lengthComparator = (s1, s2) -> Integer.compare(s1.length(), s2.length()); Collections.sort(list, lengthComparator); System.out.println("ソート後のリスト: " + list); } }
これらの方法を使用することで、Javaでカスタムコンパレータを使用してリストをソートすることができます。ご参考までに、上記の例では文字列の長さでソートしていますが、要件に応じてカスタムコンパレータの実装を変更することができます。