1. 程式人生 > >[Java]陣列元素逆序Reverse的三種方式

[Java]陣列元素逆序Reverse的三種方式

題目

在這裡插入圖片描述

程式碼實現

說明

    int[] originArray; //原始陣列
    int[] reverseArray;//反轉後的陣列
    int length = 0; //原始陣列的長度

方案一

使用java工具類java.util.Collections中的自帶方法Collections.reverse()
以下是java.util.Collections.reverse()方法的宣告

public static void reverse(List<?> list)

看到引數是一個list,而並非是陣列int[],所以需要先新建一個ArrayList存放原陣列originArray的元素

    public void arrayReverse1() {
        reverseArray = new int[length];
        ArrayList arraylist = new ArrayList();
        for (int i = 0; i < length; i++) {
            arraylist.add(originArray[i]); //存放元素
        }
        Collections.reverse(arraylist); //使用方法進行逆序
        //完成逆序後,可以儲存到新陣列reverseArray
for (int i = 0; i < length; i++) { reverseArray[i] = (int) arraylist.get(i); } }

方法二

產生一個新陣列按逆序存放原陣列的元素

    public void arrayReverse2() {
        reverseArray = new int[length];
        for (int i = 0; i < length; i++) {
            reverseArray[i] = originArray[
length - i - 1]; }

方法三

將原陣列通過前後交換實現逆序

    public void arrayReverse3() {
        int temp = 0;
        for (int i = 0; i < length / 2; i++) {
            temp = originArray[i];
            originArray[i] = originArray[length - i - 1];
            originArray[length - i - 1] = temp;
        }
    }

主函式

public static void main(String[] args) {
        ArrayReverse ar = new ArrayReverse();
        ar.createArray(10);
        ar.show(ar.originArray); //顯示初始順序
        //第一種reverse結果
        ar.arrayReverse1();
        ar.show(ar.reverseArray);
        //第二種
        ar.arrayReverse2();
        ar.show(ar.reverseArray);
        //第三種
        ar.arrayReverse3();
        ar.show(ar.originArray);
    }

測試結果

在這裡插入圖片描述

原始碼下載

百度網盤