为什么打印出来时这个ArrayList是空的?
ArrayList<InterviewQuestion> interviewQuestionArrayList = new ArrayList<>();
for (int i = 0; i <interviewQuestionArrayList.size(); i++) {
interviewQuestionArrayList.add(new InterviewQuestion());
}
System.out.println(interviewQuestionArrayList);
答案 0 :(得分:3)
你已经创建了arraylist但是在添加之前你正在尝试循环它..最初的大小将为零..
如果您知道有多少面试问题,那么您可以使用该数字循环。
例如:
for (int i = 0; i <numberOfQuestions; i++) {
interviewQuestionArrayList.add(new InterviewQuestion());
}
numberOfQuestions应该预先设定..
最初,如果您不知道要添加多少次,则可以使用while循环。但是你应该根据某些条件退出
等
boolean flag = true;
while(flag) {
interviewQuestionArrayList.add(new InterviewQuestion());
if(condition) flag = false;
} //something like this
答案 1 :(得分:1)
据我所知,当你进入循环时,你的List是空的。 因此它的size()将返回0并且循环不会添加任何元素。
你的代码基本上是
for (int i = 0; i < 0; i++) {
interviewQuestionArrayList.add(new InterviewQuestion());
}
答案 2 :(得分:1)
在这里创建一个空列表 - &gt;这意味着大小目前为0
ArrayList<InterviewQuestion> interviewQuestionArrayList = new ArrayList<>();
永远不会执行以下循环,因为i(现在为0)永远不会&lt;大小(现在0)
这意味着列表中没有添加任何对象
for (int i = 0; i <interviewQuestionArrayList.size(); i++) {
interviewQuestionArrayList.add(new InterviewQuestion());
}
尝试使用i<10
作为for循环中的条件,将10个元素添加到列表中
答案 3 :(得分:0)
如果这2个帖子相互跟随,那么您的列表将永远不会填充:
ArrayList<InterviewQuestion> interviewQuestionArrayList = new ArrayList<>();
for (int i = 0; i <interviewQuestionArrayList.size(); i++) {
interviewQuestionArrayList.add(new InterviewQuestion());
}
ergo,你有一个空列表可以打印
System.out.println(interviewQuestionArrayList);
您可以使用在声明列表时添加的一些dummyData