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);
}
测试结果