1 /*
2 Iterator接口屏蔽了容器的底层,能够统一的遍历任何容器。
3 使用Iteartor遍历容器的步骤:
4 (1)迭代游标 Iterator it
5 (2)容器c c.iterator() 把容器元素逻辑上排成“人行树”,并返回第一个游标
6 (3)Iterator it = c.iterator();
7 遍历和容器无关了,所有操作由迭代游标完成。
8 boolean hasNext() 游标后面还有元素就返回true
9 boolean next() 返回此刻游标后面的元素(Object 类型)并把游标前进一次
10
11 使用Iterator时,不允许改变容器。仅有的操作是使用Iterator删除 it.remove();
12 */
13 import java.util.*;
14 public class IteratorDemo {
15 public static void main(String[] args) {
16 Collection c = new HashSet();
17
18 c.add("龙文章");
19 c.add("孟烦了");
20 c.add("豆饼");
21 c.add("虞啸卿");
22
23 Iterator it = c.iterator();//获取游标
24
25 while(it.hasNext()) {
26 String str = (String)it.next();//注意要进行类型转换
27 System.out.println(str);
28 if(str.equals("豆饼"))
29 it.remove();
30 }
31
32 System.out.println(c);//toString()
33
34 /*第二种遍历容器的方法,同样,遍历过程中不容许改变结合,这次,连删除都不可以了*/
35 for(Object obj : c) {
36 String str = (String)obj;
37 if(str.equals("龙文章"))
38 System.out.println("容器中有龙文章");
39 }
40 }
41 }