Java實現數組反轉的幾種方法
要求:
- 首先創建一個長度是5的數組,並填充隨機數。
- 對這個數組實現反轉效果
方法一:
/**
* 方法一:使用臨時數組
*/
@Test
public void method1(){
int[] array = new int[5];
System.out.println("【方法一】:\n數組的元素爲");
for (int i=0;i<array.length;i++){
array[i] = (int) (Math.random()*100);
System.out.print(array[i]+" ");
}
System.out.println();
System.out.println("數組反轉後的元素爲");
//準備臨時數組
int[] temp = new int[array.length];
//把原數組的內容反轉後賦值給數組temp
for (int i=0;i<array.length;i++){
temp[i] = array[array.length-i-1];
}
//由於要求是對原數組array實現反轉效果,所以再把temp挨個賦值給array
for (int i=0;i<temp.length;i++){
array[i] = temp[i];
System.out.print(array[i]+" ");
}
}
輸出結果:
在以上代碼中,也可以先把array挨個賦值給 temp ,然後再反轉。即:
//準備臨時數組
int[] temp = new int[array.length];
for (int i=0;i<array.length;i++){
temp[i] = array[i];
}
for (int i=0;i<temp.length;i++){
array[i] = temp[temp.length-i-1];
System.out.print(array[i]+" ");
}
效果也是一樣的
方法二:
首尾調換:
int[] array = new int[5];
System.out.println("【方法二】:\n數組的元素爲");
for (int i=0;i<array.length;i++){
array[i] = (int) (Math.random()*100);
System.out.print(array[i]+" ");
}
System.out.println();
System.out.println("數組反轉後的元素爲");
int middle;
for (int i=0;i<array.length/2;i++){
middle = array[i];
array[i] = array[array.length-i-1];
array[array.length-i-1] = middle;
}
for (int item : array){
System.out.print(item+" ");
}
運行結果:
方法三
int[] array = new int[5];
System.out.println("【方法三】:\n數組的元素爲");
for (int i=0;i<array.length;i++){
array[i] = (int) (Math.random()*100);
System.out.print(array[i]+" ");
}
System.out.println();
System.out.println("數組反轉後的元素爲");
int middle;
for (int i=0,j=array.length-1;i<j;i++,j--){
middle = array[i];
array[i] =array[j];
array[j] = middle;
}
for (int item : array){
System.out.print(item+" ");
}
運行結果:
方法四
使用reverse方法將數組進行反轉:
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E");
System.out.println("反轉前排序: " + arrayList);
Collections.reverse(arrayList);
System.out.println("反轉後排序: " + arrayList);
}
}