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