Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么添加新对象后我的ArrayList为空?_Java_Arraylist - Fatal编程技术网

Java 为什么添加新对象后我的ArrayList为空?

Java 为什么添加新对象后我的ArrayList为空?,java,arraylist,Java,Arraylist,为什么打印时此ArrayList为空 ArrayList<InterviewQuestion> interviewQuestionArrayList = new ArrayList<>(); for (int i = 0; i <interviewQuestionArrayList.size(); i++) { interviewQuestionArrayList.add(new InterviewQuestion()); } System.out.pr

为什么打印时此ArrayList为空

ArrayList<InterviewQuestion> interviewQuestionArrayList = new ArrayList<>();

for (int i = 0; i <interviewQuestionArrayList.size(); i++) {
    interviewQuestionArrayList.add(new InterviewQuestion());
}

System.out.println(interviewQuestionArrayList);

如果这两个语句后面紧跟着,则永远不会填充您的列表:

ArrayList<InterviewQuestion> interviewQuestionArrayList = new ArrayList<>();

for (int i = 0; i <interviewQuestionArrayList.size(); i++) {
    interviewQuestionArrayList.add(new InterviewQuestion());
}

您可以使用在声明列表时添加的一些dummyData进行播放

据我所知,当您进入循环时,列表是空的。 因此,其大小将返回0,循环将不添加任何元素

你的代码基本上是这样的

for (int i = 0; i < 0; i++) {
    interviewQuestionArrayList.add(new InterviewQuestion());
}

您已经创建了arraylist,但在添加之前,您正在尝试循环使用它。。大小最初将为零

如果你知道有多少面试问题,那么你可以循环这个数字

例:


在这里创建一个空列表->这意味着当前大小为0

 ArrayList<InterviewQuestion> interviewQuestionArrayList = new ArrayList<>();
以下循环从未执行,因为i now 0从未
for (int i = 0; i <interviewQuestionArrayList.size(); i++) {
    interviewQuestionArrayList.add(new InterviewQuestion());
}

尝试使用ican我们可以看到如何打印它`因为循环运行了零次-你迭代了一个空列表的索引。我希望看到一个对象引用的ArrayList。检查。。。面试问题列表。尺码的尺码?你猜怎么着?它是空的……我明白了。但我想动态地填充它。将初始容量设置为任意整数也不行。@santafebound当然不行。容量与大小不同。@santafebound初始容量不会更改ArrayList的大小,只更改其内部数组的大小。@santafebound您的条件需要是您要添加的项目数。例如,forint i=0;我
boolean flag = true;
while(flag) {
    interviewQuestionArrayList.add(new InterviewQuestion());
    if(condition) flag = false;
} //something like this
 ArrayList<InterviewQuestion> interviewQuestionArrayList = new ArrayList<>();
for (int i = 0; i <interviewQuestionArrayList.size(); i++) {
    interviewQuestionArrayList.add(new InterviewQuestion());
}