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)
- 1
看到參數是一個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); }
測試結果