Heim  >  Artikel  >  Java  >  So konvertieren Sie ein 2D-Array in ein 1D-Array in Java

So konvertieren Sie ein 2D-Array in ein 1D-Array in Java

PHPz
PHPznach vorne
2023-04-26 12:40:082290Durchsuche

Konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array

1 Um faul zu sein, habe ich eine Funktion geschrieben, die zufällig ein zweidimensionales Array generiert

 /*
    * 自动创建随机为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. Definieren Sie eine 5x8 zweidimensionale Funktion

rrree

3. Definieren Sie ein Array mit einer Länge von 40 int und verwenden Sie System.arraycopy, um das zweidimensionale Array in das eindimensionale Array temp

 public static void main(String[] args) {
        createdarray ca=new createdarray();
        int nums[][]=CreatedDemArray(5,8);
    }

4 zu füllen. Wenn ich nach dem Füllen des eindimensionalen Arrays etwas tun möchte, sortieren Sie das eindimensionale Array. dimensionales Array und füllen Sie es in das zweidimensionale Array

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

5. Um den Druck des oben verwendeten zweidimensionalen Arrays zu ergänzen

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

Heute ist auch ein Testtag

Das eindimensionale Array wird konvertiert ein zweidimensionales Array

Da Matrizen häufig für Berechnungen verwendet werden, wird zunächst das eindimensionale Array in ein zweidimensionales Array umgewandelt. Deshalb schreibe ich es hier auf und hoffe, dass es für andere hilfreich sein wird.

    /*
    * 输出二维数组 
    * 这里我不知道怎么写我还去问了我前任:) 因为我实在不知怎么传这个参
    * 如果要做成通用的比如说既能打印整数类型又能打印字符串类型的二维数组需要用的泛型... 
    * 毕业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();
                }
 
            }
        }
    }

Programmlaufergebnisse.

So konvertieren Sie ein 2D-Array in ein 1D-Array in Java

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein 2D-Array in ein 1D-Array in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen