如何在Java中清除ArrayList?

时间:2017-06-12 09:52:59

标签: java arraylist

以下迭代ArrayList

for (String[] line : dataList) {
//adding items in the list here
    item.add(line[0]);

  if(dataList.isEmpty()){ //attempting to clear dataList when it has iterated through to the last element but not working as expected
    dataList.clear()
   }
}

如何在对元素进行迭代后清除ArrayList中的元素?

3 个答案:

答案 0 :(得分:3)

删除if(dataList.isEmpty())块并在循环后清除列表。迭代不会删除项目。

所需的代码是:

for (String[] line : dataList) {
    item.add(line[0]);
}
dataList.clear();

答案 1 :(得分:0)

应该是这样的,

for (String[] line : dataList) {
    item.add(line[0]);
}

dataList.clear();

答案 2 :(得分:0)

正如其他人所指出的那样:

for (String[] line : dataList) {
    item.add(line[0]);
}
dataList.clear();

将清除列表。如果它已经空了,那很好。 clear()将无所作为,并正常返回。

我已经回答了问题,因为您可能想知道是否需要清除它。如果dataList在方法结束时超出范围,那么垃圾收集器将为您清理。

如果您在后续代码中重复使用'datalist,那么最好的答案是 - 不要。在循环开始时声明一个局部变量。它肯定更清洁,通常更快,只是继续创建新对象而不是回收。

注意:在某些情况下清除列表是合适的。如果它是一个将继续超出该方法的类字段。但是,如果它作为临时商店使用似乎不合适。