Javaで2D配列を1D配列に変換する方法
2 次元配列を 1 次元配列に変換します
1。手間をかけるために、2 次元配列をランダムに生成する関数を書きました
/* * 自动创建随机为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 2 次元関数
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); }
3。長さ 40 の int 配列を定義し、System.arraycopy を使用して 2 次元配列を 1 次元配列 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. 配列が 1 次元に埋められたら、次のことを行います。1 次元配列をソートした後、2 次元配列
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 次元配列
/* * 输出二维数组 * 这里我不知道怎么写我还去问了我前任:) 因为我实在不知怎么传这个参 * 如果要做成通用的比如说既能打印整数类型又能打印字符串类型的二维数组需要用的泛型... * 毕业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(); } } } }
今日も同じです テストの日と考えてください
1 次元配列を 2 次元配列に変換します
理由計算に行列がよく使用される場合、最初に 1 次元配列が 2 次元配列に変換されます。したがって、ここに記録し、他の人にとって役立つことを願っています。
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で2D配列を1D配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
