Java サンプル - 配列の反転

Java 实例Java サンプル

以下のサンプルでは、独自に定義した reverse メソッドを使用して配列を反転します:

サンプル 1

public class サンプルTest {
 
    /* 配列を反転 */
    static void reverse(int a[], int n)
    {
        int[] b = new int[n];
        int j = n;
        for (int i = 0; i < n; i++) {
            b[j - 1] = a[i];
            j = j - 1;
        }
 
        /* 入力配列を反転 */
        System.out.println("反転後の配列は:\n");
        for (int k = 0; k < n; k++) {
            System.out.println(b[k]);
        }
    }
 
    public static void main(String[] args)
    {
        int [] arr = {10, 20, 30, 40, 50};
        reverse(arr, arr.length);
    }
}

上記コードを実行した出力結果は次のとおりです:

反转后数组是: 

50
40
30
20
10

サンプル 2

public class サンプルTest {
 
    /* メソッドを作成し、最初と最後を交換し、2番目と最後から2番目を交換し、以降同様に繰り返します */
    static void reverse(int a[], int n)
    {
        int i, k, t;
        for (i = 0; i < n / 2; i++) {
            t = a[i];
            a[i] = a[n - i - 1];
            a[n - i - 1] = t;
        }
 
        System.out.println("反転後の配列は:\n");
        for (k = 0; k < n; k++) {
            System.out.println(a[k]);
        }
    }
 
    public static void main(String[] args)
    {
        int [] arr = {10, 20, 30, 40, 50};
        reverse(arr, arr.length);
    }
}

上記コードを実行した出力結果は次のとおりです:

反转后数组是: 

50
40
30
20
10

サンプル

import java.util.*;
 
public class サンプルTest {
 
    /* java.util.Arrays.asList(array) メソッドを使用する */
    static void reverse(Integer a[])
    {
        Collections.reverse(Arrays.asList(a));
        System.out.println(Arrays.asList(a));
    }
 
    public static void main(String[] args)
    {
        Integer [] arr = {10, 20, 30, 40, 50};
        reverse(arr);
    }
}

上記コードを実行した出力結果は次のとおりです:

[50, 40, 30, 20, 10]

Java 实例Java サンプル

その他の拡張