java – 为什么这个嵌套的ArrayList代码抛出异常?
发布时间:2020-12-15 02:02:38 所属栏目:Java 来源:网络整理
导读:ArrayListArrayListInteger a = new ArrayListArrayListInteger(5);for (int i = 0 ; i a.size() ; i++){ a.set(i,new ArrayListInteger(10));}System.out.println(a.get(a.size()-1).get(9)); //exception thrown 上面的代码段在打印部分引发异常.为什么?
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 上面的代码段在打印部分引发异常.为什么? 解决方法
您只设置外部/内部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> = a.size(),则抛出异常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |