标题:使用Iterator遍历容器Collection
一、
- Iterator就是用来遍历的
- iterator.remove();//只能通过迭代变量的remove进行删除–>改变集合中的元素。在迭代过程中【或foreach中】,其它修改集合元素的操作将会引起异常
- str=“mm”;//赋值无效,因为Iterator是把集合元素的值传递给了迭代变量,故修改迭代变量的值对集合元素没有任何影响
/**
* Iterator就是用来遍历的
* iterator.remove();//只能通过迭代变量的remove进行删除-->改变集合中的元素。在迭代过程中【或foreach中】,其它修改集合元素的操作将会引起异常
* str="mm";//赋值无效,因为Iterator是把集合元素的值传递给了迭代变量,故修改迭代变量的值对集合元素没有任何影响
* @author dell
*
*/
public class Crazy298Test02 {
public static void main(String[] args) {
System.out.println("------------------测试Set");
Set<String> set=new HashSet<>();
set.add("aa");
set.add("bb");
set.add("cc");
System.out.println("使用Iterator遍历容器Set");
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()) {
String str=iterator.next();
if(str.equals("aa")) {
iterator.remove();//只能通过迭代变量的remove进行删除-->改变集合中的元素,在迭代过程中,其它修改集合元素的操作将会引起异常
// str="mm";//赋值无效,因为Iterator是把集合元素的值传递给了迭代变量,故修改迭代变量的值对集合元素没有任何影响
continue;
}
// set.remove(str);//java.util.ConcurrentModificationException
System.out.println(str);
}
System.out.println(set);
System.out.println("------------------测试List");
List<String> list=new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");
list.add("dd");
System.out.println("使用Iterator遍历容器List");
Iterator<String> iterator02 = list.iterator();
while(iterator02.hasNext()) {
System.out.println(iterator02.next());
}
}
}