Java數(shù)組反轉(zhuǎn)方式
更新時間:2024年06月13日 08:33:36 作者:山川星河
這篇文章主要介紹了Java數(shù)組反轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Java數(shù)組反轉(zhuǎn)
//方法1 public class ArrayReverse{ public static void main(String[] args) { //定義數(shù)組 int[] arr = {11, 22, 33, 44, 55, 66}; //1、把 arr[0] 和 arr[5] 進行交換 {66, 22, 33, 44, 55, 11} //2、把 arr[1] 和 arr[4] 進行交換 {66, 55, 33, 44, 22, 11} //3、把 arr[2] 和 arr[3] 進行交換 {66, 55, 44, 33, 22, 11} //4、一共要交換 3 次 = arr.length / 2 //5、每次交換時,對應的下標是 arr[i] 和 arr[arr.length - 1 - i] //代碼 int temp = 0; int len = arr.length; for(int i = 0; i < len/2 ;i++){ temp = arr[len - 1 - i]; arr[len - 1 - i] = arr[i]; arr[i] = temp; } } } //方法2 public class ArrayReverse{ public static void main(String[] args) { //定義數(shù)組 int[] arr1 = {11, 22, 33, 44, 55, 66}; //使用逆序賦值方式 //1、先創(chuàng)建一個新的數(shù)組 arr2,大小 arr.length //2、逆序遍歷 arr,將每個元素拷貝到 arr2 的元素中(順序拷貝) //3、建議增加一個循環(huán)變量 j -> 0 -> 5 int[] arr2 = new int[arr1.length]; for(int i = arr1.length -1, j = 0; i>=0; i--, j++){ arr2[j] = arr1[i]; } //4、當 for 循環(huán)結(jié)束后, arr2 就是一個逆序數(shù)組 //5、讓 arr 指向 arr2 的數(shù)據(jù)空間,此時 arr 原來的數(shù)據(jù)空間就沒用變量引用會被當做垃圾, 銷毀 arr1 = arr2; } }
Java數(shù)組反轉(zhuǎn)Reverse
三種反轉(zhuǎn)數(shù)組的方式
public class ReverseArray { public static void main(String[] args) { int[] arr = {11,22,33,55,66,88}; printArray(arr); reverse0(arr); reverse1(arr); reverse2(arr); } public static void reverse0(int[] arr) { for(int i=0; i<arr.length/2; i++) { int tem = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-1-i] = tem; } printArray(arr); } public static void reverse1(int[] arr) { for(int start=0,end=arr.length-1;start<end;start++,end--) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } printArray(arr); } public static void reverse2(int[] arr) { int[] tem = new int[arr.length]; for(int i=0; i<arr.length; i++) { tem[i] = arr[arr.length-1-i]; } printArray(tem); } public static void printArray(int[] arr) { for(int i=0; i<arr.length; i++) { if(arr.length==1) { System.out.println("["+arr[0]+"]"); } else if(i==0) { System.out.print("["+arr[0]+","); } else if(i==arr.length-1) { System.out.println(arr[i]+"]"); } else { System.out.print(arr[i]+","); } } } }
運行結(jié)果:
[11,22,33,55,66,88]
[88,66,55,33,22,11]
[11,22,33,55,66,88]
[88,66,55,33,22,11]
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot RestTemplate 簡單包裝解析
這篇文章主要介紹了SpringBoot RestTemplate 簡單包裝解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08Java中常見的日期操作(取值、轉(zhuǎn)換、加減、比較)
本文給大家介紹java中常見的日期操作,日期取值、日期轉(zhuǎn)換、日期加減、日期比較,對java日期操作相關(guān)知識感興趣的朋友一起學習吧2015-12-12Mybatis高級映射、動態(tài)SQL及獲得自增主鍵的解析
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis。這篇文章主要介紹了Mybatis高級映射、動態(tài)SQL及獲得自增主鍵的相關(guān)資料,需要的朋友可以參考下2016-11-11JAVA對象JSON數(shù)據(jù)互相轉(zhuǎn)換的四種常見情況
這篇文章主要介紹了JAVA對象JSON數(shù)據(jù)互相轉(zhuǎn)換的四種常見情況,需要的朋友可以參考下2014-04-04