将数据从2D阵列存储到阵列

时间:2019-03-04 15:11:52

标签: java arrays multidimensional-array

首先,我将数据存储到2D数组中,并且代码工作正常。 代码如下所示,

the_lib

然后,我如上所述使用 for(int a = 0; a < bitmap1.getWidth(); a++){ // ------ This is X for(int b = 0; b < bitmap1.getHeight()-1; b++){ // ---------- This is Y intArray1[a][b] = Integer.toHexString(bitmap1.getPixel(a,b)); intArray2[a][b] = Integer.toHexString(bitmap2.getPixel(a,b)); intArray3[a][b] = Integer.toHexString(bitmap3.getPixel(a,b)); intArray4[a][b] = Integer.toHexString(bitmap4.getPixel(a,b)); intArray5[a][b] = Integer.toHexString(bitmap5.getPixel(a,b)); intArray6[a][b] = Integer.toHexString(bitmap6.getPixel(a,b)); intArray7[a][b] = Integer.toHexString(bitmap7.getPixel(a,b)); intArray8[a][b] = Integer.toHexString(bitmap8.getPixel(a,b)); } }//end of Nested FOR 来更改nested for loops中的数据。但是,这只是我的arrays中的1st array。是否有其他方法可以减少这么多重复的代码,而不是复制如下所示的相同代码,并执行从8 array1st array的转换?

8 array

在那之后,我想从方法中获取数据,并且结果全为0,因为我非常确定结果将为1或0。但是我不知道如何将2D数组中的数据写入Array中,因为下面显示的代码肯定是错误的。

    int [][] arrayOneZero = new int [array1.length][array1.length];
    for(int a = 0; a < array1.length; a++){
        for(int b = 0; b < array1.length-1; b++){
            if(array1[a][b].equals("ffffffff")){
                //This is White
                arrayOneZero[a][b] = 1;
            }else if(array1[a][b].equals("ff000000")){
                //This is Black
                arrayOneZero[a][b] = 0;
            }else if(array1[a][b].equals("00000000")){
                //THis is Black
                arrayOneZero[a][b] = 0;
            }
        }

问题已编辑,但问题仍然存在。

1 个答案:

答案 0 :(得分:0)

好吧,我发现自己是一个使用arrayList存储数据的解决方案。而且效果很好。

 ArrayList<String>arrayList = new ArrayList<>();
                    for(int a = 0; a < bitmap1.getWidth(); a++){
                        for(int b = 0; b < bitmap1.getHeight(); b++){
                            String a1 = String.valueOf(arrayInput1[a][b]);
                            String a2 = String.valueOf(arrayInput2[a][b]);
                            String a3 = String.valueOf(arrayInput3[a][b]);
                            String a4 = String.valueOf(arrayInput4[a][b]);
                            String a5 = String.valueOf(arrayInput5[a][b]);
                            String a6 = String.valueOf(arrayInput6[a][b]);
                            String a7 = String.valueOf(arrayInput7[a][b]);
                            String a8 = String.valueOf(arrayInput8[a][b]);
                            arrayList.add(a1+a2+a3+a4+a5+a6+a7+a8); // Store 1110001 into ArrayList
                        }
                    }

希望它可以帮助其他人。