版权声明:转载注明来源。Keep Learning and Coding. https://blog.csdn.net/a771581211/article/details/88379930
package day04;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* 遍历集合
* Collection提供了统一的遍历集合元素的方式:迭代器模式
*
* Iterator iterator()
* 获取用于遍历当前集合的迭代器
*
* java.util.Iterator是一个接口,规定了用于遍历集合元素的相关方法。
* 不同的集合提供了相应的实现类。
* 无需记住那些实现类的名字,只将它们当做Iterator即可。
*
* 遍历集合遵循:问,取,删的三个步骤。其中删除不是必须操作。
* @author kaixu
*
*/
public class CollectionDemo3 {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("one");
c.add("#");
c.add("two");
c.add("#");
c.add("three");
c.add("#");
c.add("four");
//获取用于遍历当前集合的迭代器
Iterator it = c.iterator();
/*
* boolean hasNext()表示问的过程
* 该方法是判断集合中是否还有元素可以取出。
*
* E next()代表取的过程
* 获取集合中下一个元素。
*/
while (it.hasNext()){
String str= (String)it.next();
if("#".equals(str)){ //不写做if(str.equals("#")) 此种写法下如果str变量为null,会引发空指针异常。
/*
* 在使用迭代器遍历集合时,不要使用集合的方法增删元素,否则会引发异常。
*/
//c.remove(str);
/*
* 迭代器提供了remove方法,用来删除next()方法取出的元素。
*/
it.remove();
}
System.out.println(str);
}
System.out.println(c);
}
}