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. Interval 用法总结

    语法:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}] 该数据类型常用来表示一段时间差, 注 ...

  2. Windows Server 2016 IIS的安装与配置

    1. 打开服务器管理器,点击[添加角色和功能选项].        2. 进入“添加角色和功能向导”页面,点击下一步. 3. 安装类型选择[基于角色或基于功能的安装],点击下一步. 4. 进入服务器选 ...

  3. C#中流Stream的使用-学习

    概念 提供字节序列的一般视图.这是一个抽象类. 子类: Derived Microsoft.JScript.COMCharStream System.Data.OracleClient.OracleB ...

  4. python 查询每周最后一个工作日

    背景: 做定时任务时,一般都是写死每周五XXXXX,但有时遇到节假日的情况,周五可能不是本周最后一个工作日 代码如下: import urllib2,datetime,json nowTime = d ...

  5. MySQL查询去重

    方法一: distinct select count(distinct CName) from Course 方法二: 使用分组 group by select count(1) from Cours ...

  6. HTML 004 属性

    HTML 属性 属性是 HTML 元素提供的附加信息. HTML 属性 HTML 元素可以设置属性 属性可以在元素中添加附加信息 属性一般描述于开始标签 属性总是以名称/值对的形式出现,比如:name ...

  7. 数据库学习之六--事务(Transaction)

    一.定义 事务是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit). 规则: 1. 用形如begin transaction和end transaction语句来界定 2. 由事务开始和 ...

  8. STL备忘

    STL备忘 lower_bound 查找第一个大于或等于的数,返回该数字的地址,地址减去首地址即得到数组下标(首地址下标为0) upper_bound 查找第一个大于的数 unique 去重,常用于离 ...

  9. [TJOI2013]松鼠聚会 曼哈顿距离

    [TJOI2013]松鼠聚会 luogu P3964 首先容易得到两点间距离是\(max(|x_1-x_2|, |y_1-y_2|)\)(即切比雪夫距离) 然后有个套路:原\((x,y)\)求曼哈顿距 ...

  10. LSTM-航班人数预测

    小书匠深度学习LSTM 郑重声明,文章大部分翻译自: Time Series Prediction with LSTM Recurrent Neural Networks in Python with ...