[Java]陣列元素逆序Reverse的三種方式
阿新 • • 發佈:2019-01-29
題目
程式碼實現
說明
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);
}