Java数组之 -- 数组倒置
方法一 :
1 package mytest; 2 3 public class test2 { 4 5 public static void main(String[] args) { 6 7 //1. 将数组 倒置 as: 1,2,0,4,5 => 5,4,0,2,1 8 //2.准备一个数组 9 int [] array = {1,2,0,4,5}; 10 11 /** 12 * 思路 : 将一个数组 倒置过来, 无非就是把他们的下标从头到尾 13 * 互相换个位置 第一个 和 最后一个 进行 交换 第二个 后 倒数第二个换 14 * 在循环中 进行 交换 就行了 ; 15 * 注意 : 因为是互相换,所以只能 换 长度除以2次 16 */ 17 18 //3. 第一位下标 19 int head = 0; 20 //4. 最后一位下标 21 int end = array.length-1; 22 //5.只循环 长度的一半 23 int center = array.length/2; //center结果为 2.5 因为精度丢失 所以结果为 2 24 25 for (int i = 0; i < center; i++) { 26 //先把第一位给一个临时变量 27 int index =array[head]; 28 //把最后一位放在第一位 29 array[head] = array[end]; 30 //最后再把第一位给最后一位交换 31 array[end] = index; 32 head++; 33 end--; 34 } 35 36 //交换之后 遍历看结果 37 for (int i = 0; i < array.length; i++) { 38 System.out.println(array[i]); 39 40 } 41 42 } 43 44 }
先考虑生活中如何去解决,然后在想代码如何实现,这样会轻松很多;
方法二 : 使用apache封装的工具类;
1.导入依赖
<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>
package com.mybatis.demo.exercise; import org.apache.commons.lang.ArrayUtils; import java.util.Arrays; /** * @author yinsenxin */ public class ArrayReverse { public static void main(String[] args) { // 使用apache中封装的 ArrayUtils工具类 int [] a = {1,2,32,4}; // reverse 颠倒给定数组的顺序 ArrayUtils.reverse(a); System.out.println(Arrays.toString(a)); } }