0

全体として、私は2D配列を持っています:

int[][] Key = {{1,0,1,0,1,0},{1,0,1,0,1,0},{1,0,1,0,1,0},{1,0,1,0,1,0},
                        {1,0,1,0,1,0},{1,0,1,0,1,0},{1,0,1,0,1,0},{1,0,1,0,1,0}};

この2D配列を8*1D配列に分割するために必要なもの(ブロックごとに1つ)。そこで、8つの新しい1D配列と、これらすべての配列を配置するための配列リストを定義しました。

   ArrayList<int[]> B_Blocks = new ArrayList<int[]>(); 

   int[] B0 = new int[Key[0].length];
   int[] B1 = new int[Key[0].length];
   int[] B2 = new int[Key[0].length];
   int[] B3 = new int[Key[0].length];
   int[] B4 = new int[Key[0].length];
   int[] B5 = new int[Key[0].length];
   int[] B6 = new int[Key[0].length];
   int[] B7 = new int[Key[0].length];

私が必要としているのは、配列リストの横にある配列にインデックスを付けるための何らかの方法です。たとえば、の最初の行の値Keyをの最初の配列に追加したいです。Arraylist

PS arraylistの要点は、たとえばforloopsを介してより多くの操作を行うために、後で簡単にアクセスできるようにすることです。助けてくれてありがとう

次のネストされたforループを使用して、値を追加してみました。

for (int i =0;i<Key.length;i++) {
       for (int j =0;j<Key[0].length;j++) {
       B_Blocks.get(i)[j] = Key[i][j] ;
        } 
   }

実行されますが、出力したときの値は同じではありません。

for (int i =0;i<rightblock.length;i++) {
       for (int j =0;j<rightblockExp[0].length;j++) {
       System.out.print(B_Blocks.get(i)[j]);
        } System.out.print("\n");
   }
4

3 に答える 3

1

指定したインデックスに要素を追加する場合は、リストからオーバーロードされたメソッドを使用できますadd(index, elem)

list.add(0, key[0][0]);
list.add(1, key[0][1]);
于 2012-11-19T01:04:03.463 に答える
0

list.get(i)を使用して、ArrayListの要素にアクセスできます。例えば:

int[] array1 = B_Blocks.get(0);

お役に立てば幸いです。

于 2012-11-19T01:00:41.367 に答える