JavaでArrayList(配列リスト)を昇順にソートするプログラムの書き方
この記事では、Javaを使ってArrayList(配列リスト)の要素を昇順にソートする方法を解説します。
リストとは、要素を順番に格納し、先頭から順にアクセスできる「順序付きコレクション」のことです。インデックスを指定して要素を挿入・更新・削除・検索するためのメソッドが用意されており、重複した要素を保持することもできます。
ソートの実行例
まず、今回作成するプログラムの動作イメージを確認しておきましょう。
入力:
入力リスト:[java, coding, is, fun]
出力:
ソート後のリスト:[coding, fun, is, java]
アルゴリズム
昇順ソートは、java.util.Collections クラスが提供する sort() メソッドを呼び出すだけで実現できます。処理の手順は以下の通りです。
ステップ1 - 処理を開始する ステップ2 - ArrayList型の変数 input_list を宣言する ステップ3 - リストに値を追加する ステップ4 - Collections.sort() メソッドでリストをソートする ステップ5 - 結果を表示する ステップ6 - 処理を終了する
Collections.sort() は、要素の自然順序付け(文字列なら辞書順、数値なら小さい順)に従ってリストを昇順に並べ替えます。
サンプルコード1:mainメソッドにすべての処理を記述する場合
ここでは、リストの生成からソートまでの一連の操作を、すべて main メソッド内にまとめて記述します。
import java.util.*;
public class Demo {
public static void main(String args[]){
ArrayList<String> input_list = new ArrayList<String>();
input_list.add("java");
input_list.add("coding");
input_list.add("is");
input_list.add("fun");
System.out.println("The list is defined as: " + input_list);
Collections.sort(input_list);
System.out.println("The sorted list is: " + input_list);
}
}
出力結果
The list is defined as: [java, coding, is, fun] The sorted list is: [coding, fun, is, java]
サンプルコード2:処理をメソッドに分割して記述する場合
続いて、ソート処理を独立したメソッドとして切り出し、オブジェクト指向らしい構造で記述する例を紹介します。処理を部品化することで、コードの再利用性と可読性が向上します。
import java.util.*;
public class Demo {
static void sort(ArrayList<String> input_list){
Collections.sort(input_list);
System.out.println("The sorted list is: " + input_list);
}
public static void main(String args[]){
ArrayList<String> input_list = new ArrayList<String>();
input_list.add("java");
input_list.add("coding");
input_list.add("is");
input_list.add("fun");
System.out.println("The list is defined as: " + input_list);
sort(input_list);
}
}
出力結果
The list is defined as: [java, coding, is, fun] The sorted list is: [coding, fun, is, java]
補足:降順でソートしたい場合
逆に降順(大きい順・辞書の逆順)で並べ替えたい場合は、第2引数に Comparator.reverseOrder() を渡します。
Collections.sort(input_list, Comparator.reverseOrder());
このように、Collections.sort() を使えば、ArrayListの並べ替えをわずか1行で実装できます。用途に応じて昇順・降順を使い分けてみてください。
-
【Python入門】リストの要素を降順に並べ替える方法をわかりやすく解説
Pythonでは、リスト(配列)の要素を降順に並べ替えたい場合、sort()メソッドを使い、引数reverseにTrueを指定するだけで簡単に実現できます。 サンプルコード my_list = [44, 56, 42, 31, 11, 23, 78, 89, 9, 0] print(元のリスト:) print(my_list) my_list.sort(reverse = True) print(降順にソートした後のリスト:) print(my_list) 実行結果 元のリスト: [44, 56, 42, 31, 11, 23, 78, 89, 9, 0] 降順にソートした後のリスト: [89
-
【Python入門】リスト(配列)の要素を昇順に並べ替える方法|sortメソッドの使い方
Pythonでリスト(配列)の要素を昇順に並べ替えたい場合は、sortメソッドを使います。sortメソッドはデフォルトで昇順にソートしてくれるため、引数を指定しなくても簡単に並べ替えが可能です。また、降順に並べ替えたい場合は、reverseパラメータにTrueを指定するだけで対応できます。以下に具体的な使用例を示します。サンプルコードmy_list = [44, 56, 42, 31, 11, 23, 78, 89, 9, 0] print(The list is :) print(my_list) my_list.sort() print(The list after sorting is