您好,登錄后才能下訂單哦!
這篇“Java怎么將二維數組轉化為一維數組”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java怎么將二維數組轉化為一維數組”文章吧。
1. 為了偷懶所以我寫了一個隨機生成二維數組的函數
/* * 自動創建隨機為100以內的二維數組: 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. 定義一個5x8的二維函數
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); }
3. 定義一個長度為40 的int 數組,并使用System.arraycopy的方式將二維數組填充到一維數組temp中
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); //定義整數數組 int[] temp=new int[40]; //通過 arraycopy方法來將二維數組填充到一維數組temp中 for(int i=0;i<nums.length;i++){ System.arraycopy(nums[i],0,temp,i*8,8); } }
4. 如果填充到一維數組之后我想搞點事,把一維數組進行排序后,回填到二維數組中
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); } // 對一維數組進行排序 Arrays.sort(temp); // 將排序后的數組進行回填 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("排序后的數組如下"); // 這里因為懶所以我自定義了一個函數 打印二維數組 ShowDemArray(nums); }
5. 補充一下上面用到的打印二維數組
/* * 輸出二維數組 * 這里我不知道怎么寫我還去問了我前任:) 因為我實在不知怎么傳這個參 * 如果要做成通用的比如說既能打印整數類型又能打印字符串類型的二維數組需要用的泛型... * 畢業2年我已經忘了泛型怎么用,下次再補補 */ 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(); } } } }
今天也是想當測開的一天
由于經常在使用矩陣進行計算時,會首先將一維數組轉為二維數組。因此,在這里記錄一下,也希望對他人有幫助。
package deal; /* * author:合肥工業大學 管院學院 錢洋 *1563178220@qq.com */ public class ArryTest { public static void main(String[] args) { //創建一個一維數組 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]); } } } //一維數組轉化為二維數組 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; } }
程序運行結果。
以上就是關于“Java怎么將二維數組轉化為一維數組”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。