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