加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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(),则抛出异常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读