Java で Int 配列を反転させる方法

Payel Ganguly 2023年10月12日
  1. 整数配列を反転させる基本的な Java プログラム
  2. Int 配列を反転させるスワップ操作を行う Java プログラム
  3. Java コレクションを使用して Int 配列を反転させる
  4. Java Collections.reverse(ArrayList) を使用して Int 配列を反転させる
Java で Int 配列を反転させる方法

このチュートリアルの内容では、Java を使って int 配列を反転させる方法を説明します。整数配列を反転させるこれらの構造には、Java Loop と Java Array のプログラミング知識が必要です。逆引き操作は、3つの Java プログラムを使って行うことができます。それぞれのプログラムの実装を例を挙げて説明します。

整数配列を反転させる基本的な Java プログラム

この最初の例では、配列のサイズと配列の要素を入力とします。配列(ここでは array)と配列のサイズをパラメータとする関数 reverse を考えます。この関数の内部では、新しい配列を初期化します。最初の配列は最初の要素から順に繰り返し処理され、配列の各要素は新しい宣言された配列の後方の位置に配置されます。このようにして、配列の要素を逆に新しい配列に配置することができます。以下の例を見てみましょう。

import java.io.*;
import java.lang.*;
import java.util.*;

public class Example1 {
  public static void reverse(int x[], int num) {
    int[] y = new int[num];
    int p = num;
    for (int i = 0; i < num; i++) {
      y[p - 1] = x[i];
      p = p - 1;
    }
    System.out.println("The reversed array: \n");
    for (int j = 0; j < num; j++) {
      System.out.println(y[j]);
    }
  }

  public static void main(String[] args) {
    int[] array = {11, 12, 13, 14, 15};
    reverse(array, array.length);
  }
}

出力:

The reversed array:

15
14
13
12
11  

Int 配列を反転させるスワップ操作を行う Java プログラム

この 2 番目の方法では、配列のインクルードと出力に同様のコードを使用します。ここでは、新しい配列を作成せずに配列の要素を入れ替えます。配列の最初の要素は最後の要素と入れ替わります。2 番目の要素は 2 番目の最後の要素と入れ替わります。以下の例では、これらを詳しく説明します。

import java.io.*;
import java.lang.*;
import java.util.*;

public class Example2 {
  public static void reverse(int x[], int num) {
    int a, b, c;
    for (a = 0; a < num / 2; a++) {
      c = x[a];
      x[a] = x[num - a - 1];
      x[num - a - 1] = c;
    }
    System.out.println("The reversed array: \n");
    for (b = 0; b < num; b++) {
      System.out.println(x[b]);
    }
  }

  public static void main(String[] args) {
    int[] array = {11, 12, 13, 14, 15};
    reverse(array, array.length);
  }
}

出力:

The reversed array:

15
14
13
12
11

Java コレクションを使用して Int 配列を反転させる

3 番目の方法は、java.util.Collections.reverse(List list) メソッドを使用することです。このメソッドは指定したリストの配列の要素を反転させる。まず、java.util.Arraya.asList(array) を用いて配列をリストに変換し、指定した方法でリストを反転させる。以下の例で説明します。

import java.util.*;

public class Example3 {
  public static void reverse(Integer x[]) {
    Collections.reverse(Arrays.asList(x));
    System.out.println(Arrays.asList(x));
  }

  public static void main(String[] args) {
    Integer[] arr = {15, 25, 35, 45, 55};
    reverse(arr);
  }
}

出力:

[55, 45, 35, 25, 15]

Java Collections.reverse(ArrayList) を使用して Int 配列を反転させる

最後の例では、Collections.reverse(ArrayList) メソッドを用いて、int 型 ArrayList の反転を学習します。

import java.util.ArrayList;
import java.util.Collections;

public class Main {
  public static void main(String[] args) {
    ArrayList arrList = new ArrayList();
    arrList.add("20");
    arrList.add("30");
    arrList.add("40");
    arrList.add("50");
    arrList.add("60");
    System.out.println("Order Before Reverse: " + arrList);
    Collections.reverse(arrList);
    System.out.println("Order After Reverse: " + arrList);
  }
}

出力:

Order Before Reverse: [20, 30, 40, 50, 60]
Order After Reverse: [60, 50, 40, 30, 20]

関連記事 - Java Array