使用增强for循环可以简化数组和Collection集合的遍历,格式:
for(元素数据类型 变量 : 数组或者Collection集合) {
使用变量即可,该变量就是元素
}
例:
import java.util.ArrayList;
import java.util.List;
/**
* 增强for循环
*
*/
public class ForTest01 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
//增强for循环,优点是可以简化遍历
for(String s : list){
System.out.println(s);
}
}
}
集合框架中的三种迭代方式删除数据
1.普通for循环,可以删除,注意让索引做自减运算
2.迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
3.增强for循环不能删除
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 集合框架中的三种迭代方式删除数据
*
*/
public class ForTest02 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("d");
//1,普通for循环删除,索引做自减运算
for(int i = 0; i < list.size(); i++) {
if("b".equals(list.get(i))) {
list.remove(i);
i--;
}
}
//2,迭代器删除
for(ListIterator<String> iter = list.listIterator(); iter.hasNext();){
if("b".equals(iter.next())) {
iter.remove();
}
}
//3,增强for循环不能删除,ConcurrentModificationException
for (String string : list) {
if("b".equals(string)) {
list.remove("b");
}
}
System.out.println(list);
}
}
网友评论