2维ArrayList错误:java.lang.IndexOutOfBoundsException

时间:2018-04-11 19:39:03

标签: java arrays

这是我的代码:

import java.util.ArrayList;

public class Main {

    public static void main(String[] args) {
        ArrayList<ArrayList<Integer>> arrayLists = new ArrayList<ArrayList<Integer>>();
        arrayLists.get(0).add(100);
        arrayLists.get(0).add(50);
        arrayLists.get(1).add(67);
        System.out.println(arrayLists.get(0).get(0));
    }
}

这是错误消息:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at Main.main(Main.java:6)

我不明白这个问题。

3 个答案:

答案 0 :(得分:3)

您创建String char[],但您永远不会创建内部List的实例,因此无需采取任何措施,您必须:

List

答案 1 :(得分:1)

您错过了ArrayList中的ArrayList。将您的代码更改为

ArrayList<ArrayList<Integer>> arrayLists = new ArrayList<ArrayList<Integer>>();
arrayLists.add(new ArrayList<Integer>());
arrayLists.add(new ArrayList<Integer>());

答案 2 :(得分:1)

以上两个解决方案都可以让您了解您的问题。如果您想一次添加多个ArrayList,可以使用ArrayList::addAll这样:

example: http://<flask_server>/<db_server>/<db_name>/weeklyreport

或者一次性拍摄:

List<ArrayList<Integer>> arrayLists = new ArrayList<>();
arrayLists.addAll(Arrays.asList(
        Lists.newArrayList(100, 50),
        Lists.newArrayList(67)
));

List.newArrayList(..)来自番石榴。