集合框架之Iterator是我们常用的重中之重.
1.所有实现Collection接口的容器类都有一个iteractor方法,用于返回一个实现了Iteractor接口的对象,
2.Iteractor对象成为迭代器,用以实现对容器内元素的遍历操作
3.Iteractor接口定义了三个方法 hasNext(), next(), remove();
用代码示例:
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;
public class IteratorTest {
/**
* @param args
*/
public static void main(String[] args) {
iterList();
iterSet();
iterMap();
}
private static void iterList() {
List<String> list = new ArrayList<String>();
list.add("Java");
list.add("Android");
list.add("Ios");
for(Iterator<String> iterator = list.iterator();iterator.hasNext();){
String str = iterator.next();
System.out.println(str);
}
}
private static void iterSet() {
Set<String> set = new HashSet<String>();
set.add("Java2");
set.add("Android2");
set.add("Ios2");
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
String str = iterator.next();
System.out.println(str);
}
}
private static void iterMap() {
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "java3");
map.put("key2", "Android3");
map.put("key3", "Ios3");
/**Map迭代键key和值value*/
Iterator<Entry<String, String>> iter = map.entrySet().iterator();
while (iter.hasNext()) { //是否有元素
Map.Entry<String, String> entry = iter.next();//返回元素
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
/**Map迭代键key*/
Iterator<String> keyIter = map.keySet().iterator();
while (keyIter.hasNext()) {
String string = (String) keyIter.next();
System.out.println(string);
}
}
}
打印:
Java
Android
iOS
Java2
Ios2
Android2
key1:java3
key2:Android3
key3:Ios3
key1
key2
key3