0

私はこのarrayListを持っています:

 ArrayList<ArrayList<Integer>> temporary = new ArrayList<ArrayList<Integer>>();

int[][] に変換する必要がある方法

ある種のループがありますよね?

               for(ArrayList<Integer> item: temporary) {
                    //Here??

                }

乾杯!

配列が動的ではない(またはあなたがそれを呼ぶもの)ので、私は立ち往生しています。

4

2 に答える 2

5

これはうまくいくはずです:

final int N = temporary.size();
int[][] a = new int[N][];
for (int i = 0; i < N; ++i) {
    final ArrayList<Integer> item = temporary.get(i);
    final int M = item.size();
    a[i] = new int[M];
    for (int j = 0; j < M; ++j) {
        a[i][j] = item.get(j); // assumes no null elements!
    }
}
于 2012-05-25T15:35:58.957 に答える
1

Integer[][] (int のオブジェクト ラッパー) で間に合わせることができる場合は、単一のループで行うことができます (内側のループがありますが、それはあなたから隠されています)。

    ArrayList<ArrayList<Integer>> temporary = new ArrayList<ArrayList<Integer>>();              
    Integer[][] integers = new Integer[temporary.size()][];
    int i = 0;
    for(ArrayList<Integer> l : temporary)
    {
        integers[i++] = l.toArray(new Integer[l.size()]);           
    }
于 2012-05-25T15:51:09.763 に答える