んーと、Listの中にListを入れる構造にする理由がよくわからないんですよね

ArrayList<Integer>[] koumoku;
ArrayList<ArrayList<Integer>> l;

for(int i=0;i<size;i++){
koumoku[i] = new ArrayList<Integer>();
koumoku[i].add(i番目の項目1のデータ);
koumoku[i].add(i番目の項目2のデータ);
l.add(koumoku);
}

int out = koumoku[date_map.get(key)-1].get(1):
//int out2 = l.get(date_map.get(key)-1).get(1));

って感じで一応期待の結果は得られたのですが、これだと
out と out2 は同じ結果を返すので、

ArrayList<ArrayList<Integer>> l;

は不要かなぁと思ったわけです。

そもそも、koumokuを配列にしてるのがおかしいんでしょうか?