Java 数组元素逆序Reverse的三种方式

Java 数组元素逆序Reverse的三种方式

本文链接:https://blog.csdn.net/xHibiki/article/details/82930521

题目

在这里插入图片描述

代码实现

说明

    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);
    }

测试结果

在这里插入图片描述

源码下载

百度网盘

原文地址:https://www.cnblogs.com/it-tsz/p/11507942.html