在for循环里面都是先获取迭代器,利用iterator()方法
迭代器中的:
hasNext()方法为返回的值为布尔类型,来判断下一个元素是否存在
next()方法可以返回当前的对象并将油标指向下一个。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* 自己实现利用Iterator遍历各类容器
* @author Administrator
*
*/
public class MyTestIterator {
public static void main(String[] args) {
TestIteratorLsit();
TestIteratorSet();
TestIteratorMap01();
TestIteratorMap02();
}
//遍历List容器
public static void TestIteratorLsit() {
List<String> list = new ArrayList<>();
list.add("aalist");
list.add("bblist");
list.add("cclist");
System.out.println("--------------------------");
for(Iterator<String> iter = list.iterator();iter.hasNext();) {
String temp = iter.next();
System.out.println(temp);
}
System.out.println("--------------------------");
}
//遍历Set容器
public static void TestIteratorSet() {
Set<String> set = new HashSet<>();
set.add("aaset");
set.add("bbset");
set.add("ccset");
System.out.println("--------------------------");
for(Iterator<String> iter = set.iterator();iter.hasNext();) {
String temp = iter.next();
System.out.println(temp);
}
System.out.println("--------------------------");
}
//遍历Map容器(方法一)
public static void TestIteratorMap01() {
Map<Integer,String> map = new HashMap();
map.put(100,"aamap01");
map.put(200,"aamap01");
map.put(300,"aamap01");
System.out.println("--------------------------");
Set<Entry<Integer,String>> ss = map.entrySet();
for(Iterator<Entry<Integer,String>> iter = ss.iterator();iter.hasNext();) {
Entry<Integer,String> kv = iter.next();
System.out.println(kv.getKey()+"---"+kv.getValue());
}
System.out.println("--------------------------");
}
//遍历Map容器(方法二)
public static void TestIteratorMap02() {
Map<Integer,String> map = new HashMap<>();
map.put(100,"aamap02");
map.put(200,"aamap02");
map.put(300,"aamap02");
System.out.println("--------------------------");
Set<Integer> key = map.keySet();
for(Iterator<Integer> iter = key.iterator();iter.hasNext();) {
Integer key1 = iter.next();
System.out.println(key1+"---"+map.get(key1));
}
System.out.println("--------------------------");
}
}