ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>(5);
for (int i = 0 ; i < a.size() ; i++){
    a.set(i, new ArrayList<Integer>(10));
}
System.out.println(a.get(a.size()-1).get(9)); //exception thrown
上面的代码段在打印部分引发异常.为什么?
aka*_*okd 19
您只设置外部/内部ArrayLists的容量.他们仍然是空的.
并且你的循环甚至不执行因为a.size()是0. 
你需要第二个内部循环来向它们添加元素.
ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>(5);
for (int i = 0; i < 5 ; i++) {
    List<Integer> lst = new ArrayList<Integer>(10);
    for (int j = 0; j < 10; j++) {
        lst.add(j);
    }   
    a.add(lst);
}
System.out.println(a.get(a.size()-1).get(9));
编辑:请注意a.set(i, ...).如果i> = a.size(),则抛出异常.