Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでリスト(コレクション)を逆順に反転する方法:Collections.reverse()の使い方

はじめに

この記事では、Javaのコレクション(Collection)を逆順に反転させる方法について詳しく解説します。

Collectionフレームワークは、複数のオブジェクトをひとつのグループとして効率的に格納・操作するための統一的なアーキテクチャを提供します。JavaのコレクションAPIを活用すれば、検索・ソート・挿入・更新・削除といった、データに対するさまざまな操作を簡単に実現できます。

リストの要素を逆順に並べ替えるには、java.util.Collections クラスが提供する静的メソッド reverse() を使うのが最もシンプルで確実な方法です。

処理の流れ(入力と出力)

たとえば、次のような文字列のリストがあるとします。

Input list:[Java, program, is, fun]

このリストを反転すると、要素の並びが完全に逆になり、以下のような結果が得られます。

The list after reversing is:
[fun, is, program, Java]

アルゴリズム

リストを反転するまでの手順は以下の通りです。

Step 1 - 処理を開始する
Step 2 - input_list という名前のリストを宣言する
Step 3 - リストに値を定義(追加)する
Step 4 - Collections.reverse() に input_list を引数として渡し、リストを反転する
Step 5 - 結果を表示する
Step 6 - 処理を終了する

例1:すべての処理をmainメソッドにまとめて書く場合

まずは、一連の操作をすべて main メソッド内に直接記述するシンプルな例から見ていきましょう。

import java.util.*;
public class Demo {
    public static void main(String[] args){
        List<String> input_list = new ArrayList<String>();
        input_list.add("Java");
        input_list.add("program");
        input_list.add("is");
        input_list.add("fun");
        System.out.println("The list is defined as:" + input_list);
        Collections.reverse(input_list);
        System.out.println("\nThe list after reversing is: \n" + input_list);
    }
}

実行結果

The list is defined as:[Java, program, is, fun]

The list after reversing is:
[fun, is, program, Java]

例2:処理を独立したメソッドに分割する場合(オブジェクト指向)

次に、反転処理を専用のメソッドとして切り出し、オブジェクト指向プログラミングのスタイルで書き直した例です。処理を部品化することで、コードの再利用性と可読性が向上します。

import java.util.*;
public class Demo {
    static void reverse_list(List<String> input_list){
        Collections.reverse(input_list);
        System.out.println("\nThe list after reversing is: \n" + input_list);
    }
    public static void main(String[] args){
        List<String> input_list = new ArrayList<String>();
        input_list.add("Java");
        input_list.add("program");
        input_list.add("is");
        input_list.add("fun");
        System.out.println("The list is defined as:" + input_list);
        reverse_list(input_list);
    }
}

実行結果

The list is defined as:[Java, program, is, fun]

The list after reversing is:
[fun, is, program, Java]

Collections.reverse() を使う際のポイント

  • java.util.Collections クラスに属する静的メソッドであり、インスタンス化せずに呼び出せます。
  • 引数に渡された List(ArrayList、LinkedList など)の要素順を、その場で(in-placeで)反転します。
  • 戻り値は void です。新しいリストが返されるのではなく、元のリスト自体が書き換えられる点に注意しましょう。
  • 計算量は O(n) の線形時間で動作するため、要素数が多くても高速に処理できます。
  1. 文字列を逆順に反転させるJavaプログラムの作成方法

    この記事では、文字列を逆順に反転させる方法について解説します。文字列(String)とは、1つ以上の文字を含み、ダブルクォート( )で囲まれたデータ型のことです。文字列の反転とは、文字列を後ろから、つまり右から左へ向かって表示することを指します。以下に具体的な例を示します。入力値と出力値入力 −定義された文字列: Java Program出力(期待される結果) −反転後の文字列: margorP avaJアルゴリズムステップ 1 - 開始 ステップ 2 - 文字列型の変数 input_string と reverse_string、および char 型の変数 temp を宣言する。 ステップ

  2. Javaで数値を逆順にするプログラムの書き方【サンプルコード付き】

    この記事では、Javaを使って整数を逆順(リバース)に出力する方法を詳しく解説します。数値の逆順は、whileループと算術演算子である剰余演算子「%」と除算演算子「/」を組み合わせることで求めることができます。 入出力の例 たとえば、次のような入力が与えられたとします。 入力する数値:123456 このとき、期待される出力結果は以下のとおりです。 実行結果:654321 アルゴリズム ステップ1 - 処理を開始する ステップ2 - 整数型の変数 my_input(入力値)、reverse_input(逆順の結果)、my_remainder(余り)を宣言する ステップ3 - ユーザーから値を