详解java数组进行翻转的方法有哪些

在数组的元素中,有时候我们需要把它们的顺序进行颠倒,从而变成一个新的数组。主流的数组翻转方法有很多,本篇整理了一些实用的方法:arrayList、倒序循环、临时数组。相信除了第一种方法,其他两种大家可能没有接触过。下面就这三种Java数组翻转的方法,我们分别大家带来实例讲解。

1.使用Collections.reverse(arrayList)

import java.util.ArrayList;
import java.util.Collections;

public class ArrayReversal {

public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E");
System.out.println("反转前的顺序:"+arrayList);
Collections.reverse(arrayList);
System.out.println("反转后的顺序:"+arrayList);
}
}

2.倒叙循环

重新new一个数组进行赋值,例如

private static String[] reverseArray(String[] Array) { 

    String[] new_array = new String[Array.length]; 

    for (int i = 0; i < Array.length; i++) { 

      // 反转后数组的第一个元素等于源数组的最后一个元素: 

      new_array[i] = Array[Array.length - i - 1]; 

    }
    return new_array;
  }

3.使用临时数组

 /**
   * 方法一:使用临时数组
   */
  @Test
  public void method1(){
    int[] array = new int[5];
    System.out.println("【方法一】:\n数组的元素为");
    for (int i=0;i<array.length;i++){
      array[i] = (int) (Math.random()*100);
      System.out.print(array[i]+" ");
    }
    System.out.println();
    System.out.println("数组反转后的元素为");
    //准备临时数组
    int[] temp = new int[array.length];
    //把原数组的内容反转后赋值给数组temp
    for (int i=0;i<array.length;i++){
      temp[i] = array[array.length-i-1];
    }
    //由于要求是对原数组array实现反转效果,所以再把temp挨个赋值给array
    for (int i=0;i<temp.length;i++){
      array[i] = temp[i];
      System.out.print(array[i]+" ");
    }
  }

以上就是java数组进行翻转的方法,相信大家在看完代码后,已经动手在运行试验了。关于其他的一些常见翻转方法,这里就不再叙述,有兴趣可以自行查询。更多相关java数组翻转内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现数组翻转的实现代码

    1.Java提供了一些工具包实现了数组翻转,这里就不在赘述了   reverse... 2.还可以通过倒叙循环,重新new一个数组进行赋值,例如 private static String[] reverseArray(String[] Array) { String[] new_array = new String[Array.length]; for (int i = 0; i < Array.length; i++) { // 反转后数组的第一个元素等于源数组的最后一个元素: new_ar

  • Java实现数组反转翻转的方法实例

    数组翻转的方法(java实现),数组翻转,就是将数组倒置,例如原数组为:{"a","b","c","d"},那么翻转后的数组为{"d","c","b","a"}. [方法一]使用集合个工具类: Collections.reverse(ArrayList) 将数组进行反转: import java.util.ArrayList;import java

  • 详解java数组进行翻转的方法有哪些

    在数组的元素中,有时候我们需要把它们的顺序进行颠倒,从而变成一个新的数组.主流的数组翻转方法有很多,本篇整理了一些实用的方法:arrayList.倒序循环.临时数组.相信除了第一种方法,其他两种大家可能没有接触过.下面就这三种Java数组翻转的方法,我们分别大家带来实例讲解. 1.使用Collections.reverse(arrayList) import java.util.ArrayList; import java.util.Collections; public class Array

  • 详解Java数组的四种拷贝方式

    目录 深拷贝与浅拷贝的区别 1.for循环进行拷贝 拷贝数值类型 拷贝引用类型 2.copyof/copyOfRange 拷贝数值类型 拷贝引用类型 3.arraycopy 拷贝数值类型 拷贝引用类型 4.clone 拷贝数值类型 拷贝引用类型 5.总结 深拷贝与浅拷贝的区别 假设现在有原数组A以及拷贝后的数组B,若是改变A中的某一个值,B数组随之相应的发生变化的拷贝方式称为浅拷贝,反之B数组不受影响,则称为深拷贝:简单总结一下两者的概念: 深拷贝:拷贝后,修改原数组,不会影响到新数组: 浅拷贝

  • 详解Java 缺失的特性扩展方法

    目录 什么是扩展方法 传统写法: 使用 Stream 写法: 在 Java 中怎么实现扩展方法 准备条件 编写扩展方法 数组扩展方法 扩展静态方法 建议 什么是扩展方法 扩展方法,就是能够向现有类型直接“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改现有类型.调用扩展方法的时候,与调用在类型中实际定义的方法相比没有明显的差异. 为什么需要扩展方法 考虑要实现这样的功能:从 Redis 取出包含多个商品ID的字符串后(每个商品ID使用英文逗号分隔),先对商品ID进行去重(并能够维持元

  • 详解java.lang.reflect.Modifier.isInterface()方法

    详解java.lang.reflect.Modifier.isInterface()方法 java.lang.reflect.Modifier.isInterface(int mod)方法判断如果给定mod参数包含final修饰符,则返回true,否则返回false. 声明 以下是java.lang.reflect.Modifier.isInterface()方法的声明. public static boolean isInterface(int mod) 参数 mod - 一组修饰符. 返回值

  • 详解Java关于时间格式化的方法

    一般从数据库获取的时间或日期时间格式化为date或者datetime,为了方便前端渲染,API接口返回的时候需要对日期进行格式化转换,通常会用到 SimpleDateFormat 工具处理. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String time = dateFormat.format(new Date()); 如果一个DTO类里面有很多关于时间字段需要格式化,就会降低开发效率,产生很多

  • 详解Java生成PDF文档方法

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XML.Html文件转化为PDF文件: Apache PDFBox,生成.合并PDF文档: docx4j,生成docx.pptx.xlsx文档,支持转换为PDF格式. 比较: iText开源协议为AGPL,而其他两个框架协议均为Apache License v2.0. 使用PDFBox生成PDF就像画图

  • 详解Java中Method的Invoke方法

    在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到Method,这时去调用父类的对象也会报错.虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码.  Method的invoke方法 1.先检查 AccessibleObject的override属性是否为true. Accessib

  • 详解java生成json字符串的方法

    例1:将map对象添加一次元素(包括字符串对.数组),转换成json对象一次. 代码: package com.json; //这是使用org.json的程序: import java.util.HashMap; import java.util.Map; import org.json.JSONException; import org.json.JSONObject; public class jsontest { public static void main(String[] args)

  • 详解Java继承中属性、方法和对象的关系

    大家都知道子类继承父类是类型的继承,包括属性和方法!如果子类和父类中的方法签名相同就叫覆盖!如果子类和父类的属性相同,父类就会隐藏自己的属性! 但是如果我用父类和子类所创建的引用指向子类所创建的对象,父类引用所调用子类对象中的属性值或方法的结果是什么呢? 看代码: public class FieldDemo { public static void main(String[] args){ Student t = new Student("Jack"); Person p = t;/

  • 详解JAVA SPI机制和使用方法

    JAVA SPI 简介 SPI 是 Java 提供的一种服务加载方式,全名为 Service Provider Interface.根据 Java 的 SPI 规范,我们可以定义一个服务接口,具体的实现由对应的实现者去提供,即服务提供者.然后在使用的时候再根据 SPI 的规范去获取对应的服务提供者的服务实现.通过 SPI 服务加载机制进行服务的注册和发现,可以有效的避免在代码中将具体的服务提供者写死.从而可以基于接口编程,实现模块间的解耦. SPI 机制的约定 1 在 META-INF/serv

随机推荐