67,515
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) {
List<String> l = new ArrayList<String>();
l.add("11111");
l.add("22222");
for(String a : l){
l.remove(a);
}
for(int i=0;i<l.size();i++){
l.remove(l.get(i));
}
for(int i=0;i<l.size();i++){
l.remove(i);
}
System.out.println(l.size());
}
package com.zf.test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test5 {
public static void main(String[] args) {
List<String> l = new ArrayList<String>();
l.add("11111");
l.add("22222");
//单独用下面三个中的某一个方法肯定是都不行的。
//(1) 这里foreach循环,其实就相当于是Iterator在迭代集合对象 ,
// Iterator在迭代对象的时候是不允许被迭代的对象修改或Remove的,除非用Iterator自己的remove()方法
for(String a : l){
l.remove(a);
}
//改成下面这样是可以的。
Iterator<String> it = l.iterator();
while(it.hasNext()){
it.next();
it.remove();
}
//(2) 你可以试想一下 , 刚开始的时候l.size() = 2 , i = 0
// 当执行完第一次循环 就移除了一个对象 此时 , l.size() == 1 , i = 1
// 此时 i< l.size() 不成立 , 就不会继续循环了。
for(int i=0;i<l.size();i++){
l.remove(l.get(i));
}
// 同上
for(int i=0;i<l.size();i++){
l.remove(i);
}
System.out.println(l.size());
}
}
public static void main(String[] args) {
List<String> l = new ArrayList<String>();
l.add("11111");
l.add("22222");
while(l.size()>0){
l.remove(l.size()-1)
}
System.out.println(l.size());
}
List<String> l = new ArrayList<String>();
l.add("11111");
l.add("22222");
for(Iterator<String> it = l.iterator();it.hasNext();){
it.next();
it.remove();
}
System.out.println(l);
List<String> l = new ArrayList<String>();
l.add("11111");
l.add("22222");
int size = l.size();
for(int i = size - 1; i >= 0; --i){
l.remove(i);
}
System.out.println(l);