Java如何將二維數(shù)組轉(zhuǎn)化為一維數(shù)組
將二維數(shù)組轉(zhuǎn)化為一維數(shù)組
1. 為了偷懶所以我寫了一個(gè)隨機(jī)生成二維數(shù)組的函數(shù)
/* * 自動(dòng)創(chuàng)建隨機(jī)為100以內(nèi)的二維數(shù)組: int nums[x][y] * */ public static int[][] CreatedDemArray(int x,int y){ int nums[][]=new int[x][y]; for(int i=0;i<nums.length;i++){ for(int j=0;j<nums[i].length;j++){ nums[i][j]=(int)(Math.random()*100); } } return nums; }
2. 定義一個(gè)5x8的二維函數(shù)
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); }
3. 定義一個(gè)長度為40 的int 數(shù)組,并使用System.arraycopy的方式將二維數(shù)組填充到一維數(shù)組temp中
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); //定義整數(shù)數(shù)組 int[] temp=new int[40]; //通過 arraycopy方法來將二維數(shù)組填充到一維數(shù)組temp中 for(int i=0;i<nums.length;i++){ System.arraycopy(nums[i],0,temp,i*8,8); } }
4. 如果填充到一維數(shù)組之后我想搞點(diǎn)事,把一維數(shù)組進(jìn)行排序后,回填到二維數(shù)組中
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); int[] temp=new int[40]; for(int i=0;i<nums.length;i++){ System.arraycopy(nums[i],0,temp,i*8,8); } // 對一維數(shù)組進(jìn)行排序 Arrays.sort(temp); // 將排序后的數(shù)組進(jìn)行回填 int index=0; while (index<temp.length){ for(int i=0;i<nums.length;i++){ for(int j=0;j<nums[i].length;j++){ nums[i][j]=temp[index++]; } } } System.out.println("排序后的數(shù)組如下"); // 這里因?yàn)閼兴晕易远x了一個(gè)函數(shù) 打印二維數(shù)組 ShowDemArray(nums); }
5. 補(bǔ)充一下上面用到的打印二維數(shù)組
/* * 輸出二維數(shù)組 * 這里我不知道怎么寫我還去問了我前任:) 因?yàn)槲覍?shí)在不知怎么傳這個(gè)參 * 如果要做成通用的比如說既能打印整數(shù)類型又能打印字符串類型的二維數(shù)組需要用的泛型... * 畢業(yè)2年我已經(jīng)忘了泛型怎么用,下次再補(bǔ)補(bǔ) */ public static void ShowDemArray(int[][] nums){ for (int i=0;i<nums.length;i++){ for (int j=0;j<nums[i].length;j++){ System.out.print(nums[i][j]+"\t"); if((j+1)%nums[i].length==0){ System.out.println(); } } } }
今天也是想當(dāng)測開的一天
一維數(shù)組轉(zhuǎn)化為二維數(shù)組
由于經(jīng)常在使用矩陣進(jìn)行計(jì)算時(shí),會首先將一維數(shù)組轉(zhuǎn)為二維數(shù)組。因此,在這里記錄一下,也希望對他人有幫助。
package deal; /* * author:合肥工業(yè)大學(xué) 管院學(xué)院 錢洋 *1563178220@qq.com */ public class ArryTest { public static void main(String[] args) { //創(chuàng)建一個(gè)一維數(shù)組 0,1,2,3...,10 double [] c= new double[10]; for (int i = 0; i < c.length; i++) { c[i]=i; } double[][] testArr=TwoArry(c); for (int i = 0; i < testArr.length; i++) { for (int j = 0; j < testArr[i].length; j++) { System.out.println(testArr[i][j]); } } } //一維數(shù)組轉(zhuǎn)化為二維數(shù)組 public static double[][] TwoArry(double[] onedouble){ double[][] arr=new double[1][onedouble.length]; for (int i = 0; i < onedouble.length; i++) { arr[0][i]=onedouble[i]; } return arr; } }
程序運(yùn)行結(jié)果。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解APP微信支付(java后臺_統(tǒng)一下單和回調(diào))
這篇文章主要介紹了APP微信支付(java后臺_統(tǒng)一下單和回調(diào)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05java 數(shù)據(jù)結(jié)構(gòu)與算法 (快速排序法)
這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)與算法(快速排序法),,快速排序法是實(shí)踐中的一種快速的排序算法,在c++或?qū)ava基本類型的排序中特別有用,下面我們一起進(jìn)入文章學(xué)習(xí)更詳細(xì)的內(nèi)容吧,需要的朋友可以參考下2022-02-02Java實(shí)現(xiàn)圖片旋轉(zhuǎn)、指定圖像大小和水平翻轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖像旋轉(zhuǎn),指定圖像大小,水平翻轉(zhuǎn)圖像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02Java生成動(dòng)態(tài)版驗(yàn)證碼的方法實(shí)例
這篇文章主要給大家介紹了利用Java生成動(dòng)態(tài)版驗(yàn)證碼的方法實(shí)例,本文生成的是GIF格式 + 干擾元素,讓驗(yàn)證碼破解難度又上了一個(gè)層次,文中給出了詳細(xì)的示例代碼,并在文末給出了完整的實(shí)例代碼供大家下載學(xué)習(xí),需要的朋友們下面來一起看看吧。2017-04-04springboot整合dubbo設(shè)置全局唯一ID進(jìn)行日志追蹤的示例代碼
這篇文章主要介紹了springboot整合dubbo設(shè)置全局唯一ID進(jìn)行日志追蹤,本文通過圖文示例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Spring Boot集成Resilience4J實(shí)現(xiàn)限流/重試/隔離
在Java的微服務(wù)生態(tài)中,對于服務(wù)保護(hù)組件,像springcloud的Hystrix,springcloud?alibaba的Sentinel,以及當(dāng)Hystrix停更之后官方推薦使用的Resilience4j,所以本文給大家介紹了Spring Boot集成Resilience4J實(shí)現(xiàn)限流/重試/隔離,需要的朋友可以參考下2024-03-03Java Optional解決空指針異??偨Y(jié)(java 8 功能)
這篇文章主要介紹了Java Optional解決空指針異??偨Y(jié)(java 8 功能),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11