Java 如何逐个删除ArrayList中的所有元素? publicstaticvoidmain(字符串[]args){ ArrayList name=新的ArrayList(); 名称。添加(“名称1”); 名称。添加(“名称2”); 名称。添加(“名称3”); 对于(int i=0;i
如果我这样做的话,Java 如何逐个删除ArrayList中的所有元素? publicstaticvoidmain(字符串[]args){ ArrayList name=新的ArrayList(); 名称。添加(“名称1”); 名称。添加(“名称2”); 名称。添加(“名称3”); 对于(int i=0;i,java,for-loop,arraylist,Java,For Loop,Arraylist,如果我这样做的话,ArrayList中会保留1个元素。如何使用for循环将它们全部删除?ArrayList name=new ArrayList(); public static void main(String[] args) { ArrayList<String> names = new ArrayList<String>(); names.add("Name1"); names.add("Name2")
ArrayList
中会保留1个元素。如何使用for
循环将它们全部删除?ArrayList name=new ArrayList();
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<String>();
names.add("Name1");
names.add("Name2");
names.add("Name3");
for (int i = 0; i < names.size(); i++) {
System.out.println(names.get(i));
names.remove(i);
}
System.out.println(names);
}
名称。添加(“名称1”);
名称。添加(“名称2”);
名称。添加(“名称3”);
for(Iterator it=names.Iterator();it.hasNext();){
it.next();
it.remove();
}
System.out.println(名称);
再想想你的循环,你每次都在增加i
,但是你删除了0,1,…,n索引。当删除对象时,列表的大小会越来越小,直到删除了一半(地板,不是全部,而是一个)元素。前面的注释的解决方案对此不起作用,但是在循环中用remove(0)替换remove(i)将非常有帮助,如果您说明为什么它必须是for循环。您是否只需要清空此列表;在这种情况下,您应该使用ArrayList.clear,或者希望在遍历列表时删除元素;在哪种情况下,使用迭代器是最好的方法?而且,只使用代码的答案是非常不鼓励的。你应该描述问题并解释如何解决它。我想这就是他想要的“我如何使用for循环删除它们?”@JohnKugelman“我如何使用for循环删除它们?”-这就是问题所在,是吗?
ArrayList<String> names = new ArrayList<String>();
names.add("Name1");
names.add("Name2");
names.add("Name3");
for (Iterator<String> it = names.iterator(); it.hasNext();) {
it.next();
it.remove();
}
System.out.println(names);