package iterator;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.print.attribute.HashAttributeSet;
/**
- iterator迭代器
- @author Administrator
*/
public class Test01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
//通过索引遍历List
//这个遍历方法只适合List类;而不适合Set set是无序的
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
//通过迭代器遍历List
for(Iterator iter2 = list.iterator();iter2.hasNext();){
String str2 = (String)iter2.next();//转成字符串
System.out.println(str2);
}
Set set = new HashSet();//是Collection的子类
set.add("高四");
set.add("王二");
set.add("李三");
/**
* 通过迭代器进行遍历过程
* boolean hasNext(); (hasNext是否有下一个)
* 1)判断是否有元素没有被遍历
* object next(); (next下一个)
* 2)返回游标当前位置的元素并将游标移动到下一个位置
* void remove(); (remove移除)
* 3)删除游标左面的元素,在执行完next后,该操作只能执行一次
*/
//1:用迭代器遍历set;while循环
Iterator iter = set.iterator();//初始化
while (iter.hasNext()) {//has有;hasNext()有没有下一个元素
String str = (String)iter.next();//转成字符串
System.out.println(str);
}
//2::用迭代器遍历set;for循环
for(Iterator iter1 = set.iterator();iter1.hasNext();){
String str1 = (String)iter1.next();//转成字符串
System.out.println(str1);
}
}
}