Heim > Java > javaLernprogramm > Hauptteil

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

PHPz
Freigeben: 2023-04-26 12:40:08
nach vorne
2290 Leute haben es durchsucht

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;
    }
Nach dem Login kopieren

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);
    }
Nach dem Login kopieren

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);
        }
 
    }
Nach dem Login kopieren

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);
    }
Nach dem Login kopieren

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();
                }
 
            }
        }
    }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage