java中for循环时删除和增加
这个问题在网上有很多的解决方法,在这儿总结一下。便于初学者学习。
一、java中for循环时对元素删除
List list = new ArrayList();
for(int i = 0; i < 10; i++){
list.add("" + i);
}
for(int i = list.size() - 1; i >= 0; i--){
if(list.get(i).compareTo("4") > 0){
list.remove(list.get(i));
}
}
for(Iterator iter = list.iterator(); iter.hasNext();){
String next = iter.next();
if(next.compareTo("4") > 0){
iter.remove();
//list.remove(next);
}
}
for(int i = 0; i < list.size(); i++){
if(list.get(i).compareTo("4") > 0){
list.remove(list.get(i));
i --;
}
}
二、java中循环时对元素增加
int size = list.size();//先获取size,在便利
for(int i =0; i < size; i++){
if(list.get(i).compareTo("4") > 0){
System.out.println(i);
list.add(list.get(i));
}
}