最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来撰写本系列博客,记录自己的学习内容,同时也供看到的人学习。
本篇只讲一个内容——迭代器。
Iterator是一种非常常见的接口,在实际的开发中经常用其实例类去遍历容器里面的数据。
下面是迭代器常见方法的简单应用(迭代器源码见AbstractList.class文件里面第330行~第611行.):
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class Test01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
//通过索引来遍历数组
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
//通过迭代器遍历数组
for(Iterator iter2 = list.iterator();iter2.hasNext();){
String str = (String)iter2.next();
System.out.println(str);
iter2.remove(); //把刚刚遍历完的元素删去(lastset置为-1)
}
Set set = new HashSet();
set.add("gao1");
set.add("gao2");
set.add("gao3");
Iterator iter = set.iterator();
for(Iterator iterator = set.iterator();iter.hasNext();){
String str = (String)iter.next();
System.out.println(str);
}
}
}
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Test02 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("1234", "123"); //随便往map里面放一对数
Set keys = map.keySet(); //用set来存储map的key值
for(Iterator iter = keys.iterator();iter.hasNext();){
String keyStr = (String) iter.next();
System.out.println(keyStr+"----");
}
}
}