Java のリストの並べ替え方法
JavaのListインターフェースでは、要素をソートするためのsortメソッドが用意されています。sortメソッドはデフォルトメソッドであり、Listのインスタンスに直接呼び出せます。
List.sortメソッドの使用法は次のとおりです。
- Collectionsクラスのsort静的メソッドを使用する:
List<T> list = new ArrayList<>();
// 添加元素到列表中
Collections.sort(list);
Comparableインターフェイスを実装したリスト要素の自然順序による並べ替えを行う方法です。
- Comparatorインターフェースの実装クラスを使用する。
List<T> list = new ArrayList<>();
// 添加元素到列表中
Comparator<T> comparator = new MyComparator(); // MyComparator是一个实现了Comparator接口的类
Collections.sort(list, comparator);
この方法を使用することで、並べ替えルールを指定するためにカスタムコンパレータを使用できます。
なお、Listインターフェースには、Comparatorの引数を取るsortメソッドがあり、ソートの条件を指定できます。例:
List<T> list = new ArrayList<>();
// 添加元素到列表中
list.sort(new MyComparator());
Collections 类的 sort メソッドを使用するのと同じ方法ですが、より直感的なうえに実行も簡単です。
なお、この並び替えは元のリストの順番を直接変更します。元のリストの順番を変えたくない場合は、コピーを作成して並び替えてください。例:
List<T> list = new ArrayList<>();
// 添加元素到列表中
List<T> sortedList = new ArrayList<>(list); // 创建副本
Collections.sort(sortedList);
あるいはストリーム操作でソートする。
List<T> list = new ArrayList<>();
// 添加元素到列表中
List<T> sortedList = list.stream()
.sorted()
.collect(Collectors.toList());
Javaで配列を並べ替えるメソットを適用する一般的な方法を表しています。特定の要件に応じて、ネイティブの順序やカスタムコンペアレータを使用して並べ替えることができます。