Colletion集合的遍历方法
//首先创建一个集合
Collection books = new HashSet();
books.add("轻量级Java EE企业应用实战");
books.add("疯狂Java讲义");
books.add("疯狂Android讲义");
1. 使用Lambda表达式遍历 forEach(Comsumer action);
books.forEach(obj -> System.out.println("迭代集合元素:" + obj));
2. 使用Iterator遍历集合元素
当Iterator遍历集合变量时,是把集合元素的值赋给了迭代变量,而不是集合变量本身
而且在此过程中不能对集合进行修改,除了 Iterator的remove()方法
- boolean hasNext();
- Object next();
- void remove(); //删除集合上一次next()返回的元素
- void forEachRemaining(Comsumer action); //用来遍历集合元素
Iterator it = books.Iterator();
while(it.hasNext()){
//next()返回的是Object类型,所以需要进行强制转换
String book = (String)it.next();
System.out.println(book);
if(book.euqal("疯狂Java讲义")){
//如果为 books.remove(book)则会报错
it.remove();
}
//对book变量进行赋值,不会改变集合元素本身
book = "测试字符串";
}
System.out.println(books);
3. 使用Lambda表达式遍历Iterator 通过forEachRemaining(Comsumer action);
Iterator it = books.Iterator();
it.forEachRemaining(obj -> System.out.println("迭代集合元素:" + obj));
4.使用foreach循环遍历集合元素
for(Object obj : books){
//此时的book变量也不是集合本身
String book = (String)obj;
System.out.println(book);
if(book.equals("疯狂Java讲义")){
//下面代码会引发异常
books.remove(book);
}
}