HOWTO · Java

如何在 Java 中反轉一個整型陣列

本教程以詳盡的細節和例項演示瞭如何在 Java 中使用各種方法反轉一個整陣列。

在本教程內容中,我們將討論如何使用 Java 反轉一個整型陣列。這些反轉整型陣列的結構需要 Java 迴圈和陣列的程式設計知識。我們可以使用三個 Java 程式來執行反轉操作。讓我們通過例項來討論每個程式的實現。

反轉整型陣列的基本 Java 程式

在第一個例子中,我們把陣列的大小和陣列的元素作為輸入。我們考慮一個函式 reverse,它把陣列(這裡是 array)和陣列的大小作為引數。在函式內部,我們初始化一個新的陣列。第一個陣列從第一個元素開始迭代,陣列中的每一個元素都被放置在新宣告的陣列中,從後面的位置開始。這樣,我們就可以將陣列中的元素反過來放置到新的陣列中。讓我們按照下面的例子進行操作。

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  

Java 程式執行交換操作來反轉整型陣列

在第二種方法中,我們使用類似的程式碼來實現陣列的包含和列印。在這裡,我們交換陣列的元素,而不建立任何新的陣列。陣列的第一個元素與最後一個元素交換。第二個元素與倒數第二個元素互換,以此類推。下面的例子將詳細解釋這些操作。

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 集合反轉整型陣列

第三種方法是使用 java.util.Collections.reverse(List 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) 反轉整型陣列

在最後一個例子中,我們將通過使用 Collections.reverse(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]