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

测试结果

源码下载

百度网盘

Java 数组元素逆序Reverse的三种方式的更多相关文章

  1. Java修炼——ArrayList常用的方法以及三种方式遍历集合元素。

    List接口ArrayList用法详解 ArrayList常用方法: 1. List.add():添加的方法(可以添加字符串,常量,以及对象) List list=new ArrayList(); l ...

  2. 0036 Java学习笔记-多线程-创建线程的三种方式

    创建线程 创建线程的三种方式: 继承java.lang.Thread 实现java.lang.Runnable接口 实现java.util.concurrent.Callable接口 所有的线程对象都 ...

  3. Java反射机制(创建Class对象的三种方式)

    1:SUN提供的反射机制的类: java.lang.Class<T> java.lang.reflect.Constructor<T> java.lang.reflect.Fi ...

  4. java核心知识点----创建线程的第三种方式 Callable 和 Future CompletionService

    前面已经指出通过实现Runnable时,Thread类的作用就是将run()方法包装成线程执行体,那么是否可以直接把任意方法都包装成线程执行体呢?Java目前不行,但其模仿者C#中是可以的. Call ...

  5. Java反射02 : Class对象获取的三种方式和通过反射实例化对象的两种方式

    1.Class对象获取的三种方式 本文转载自:https://blog.csdn.net/hanchao5272/article/details/79361463 上一章节已经说过,一般情况下,Jav ...

  6. java webservice服务器端获取request对象的三种方式

    有的时候在webservice里我们需要获取request对象和response对象,比如想要获得客户端的访问ip的时候就需要这么做,下面说三种方式,当然三种方式可能是针对不同方式部署webservi ...

  7. Java项目开发中实现分页的三种方式一篇包会

    前言   Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBatis两种框架,这两种框架都提供了相应的分页工具,使用 ...

  8. Java反射机制(获取Class对象的三种方式+获取Class中的构造函数进行对象的初始化+获取反射类的字段+获取反射类的一般方法)

    反射技术其实就是动态加载一个指定的类,并获取该类中的所有内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员,简单来说:反射技术可以对一个类进行解剖,反射大大增强 ...

  9. [OpenSource]浅谈.Net和Java互相调用的三种方式

    在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份额,不管谁对谁错,Java和.Net是目前应用开发的两个 ...

随机推荐

  1. jquery中的ajax方法(备忘)

    参考:https://www.cnblogs.com/tylerdonet/p/3520862.html w3school:http://www.w3school.com.cn/jquery/ajax ...

  2. 40个优化你的php代码的小提示

    1. 若是一个办法可静态化,就对它做静态声明.速度可提拔至4倍. 2. echo 比 print 快. 3. 应用echo的多重参数(译注:指用逗号而不是句点)庖代字符串连接. 4. 在履行for轮回 ...

  3. Git报错:Your branch is up to date with 'origin/master'.

    Git在提交的时候报错 Your branch is up to date with 'origin/master'. 报错 Your branch is up to date with 'origi ...

  4. MybatisX idea 快速开发插件

    一.idea安装MybatisX 1.按ctrl+alt+s,弹出Settings 2.在plugins中搜索MybatisX,安装即可 3.点击操作重启idea 二.操作说明 1.业务层点击小鸟进入 ...

  5. docker学习(七)常见仓库介绍

    将介绍常见的一些仓库和镜像的功能,使用方法和生成它们的 Dockerfile 等.包括 Ubuntu.CentOS.MySQL.MongoDB.Redis.Nginx.Wordpress.Node.j ...

  6. [CSS] Change the off-axis Alignment of a Flexed Container with `align-items`

    We changed the axis layout with 'justify-content', and the "off axis" layout is controlled ...

  7. IDEA控制台中文乱码解决

    关于IDEA中文乱码的解决方法,如下. 1.打开idea安装目录,选择 打开文件,末尾添加-Dfile.encoding=UTF-8 2.打开IntelliJ IDEA>File>Sett ...

  8. MongoDB 分片管理(三)服务器管理

    MongoDB 分片管理(三)服务器管理

  9. ORA-00600[2662]问题 汇总

    一.ORA-00600[2662]问题模拟及解决方法 这是2013年的一篇文章,也不知道数据库是什么版本, 我的数据库时11.2.0.4,使用下面方法模拟的时候,模拟不出来....   参照eygle ...

  10. kindeditor如何使用

    亲测能用: URL地址:https://jingyan.baidu.com/article/ab69b270b287332ca7189f19.html