Iterator接口
- [x] 所有实现Collection接口的容器类都有一个iteractor()方法,用于返回一个实现Iterator接口的对象- [x] Iterator对象称为迭代器,用以实现对容器内元素的遍历操作- [x] Iterator接口定义了三个方法 hasNext(),next(),remove()...
·
Iterator的原理
- 所有实现Collection接口的容器类都有一个iteractor()方法,用于返回一个实现Iterator接口的对象
- Iterator对象称为迭代器,用以实现对容器内元素的遍历操作
- Iterator接口定义了三个方法 hasNext(),next(),remove()
Iterator具体执行原理如图所示:
Iterator的用法
public class Demo {
public static void main(String[] args) {
iterList();
iterSet();
iterMap();
}
private static void iterList() {
List<String> list = new LinkedList<String>();
list.add("java1");
list.add("Android1");
list.add("IOS1");
/**List的迭代*/
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
String str = (String) iterator.next();
System.out.println(str);
}
}
/**List方法打印结果如下:*/
//java1
//Android1
//IOS1
private static void iterSet() {
Set<String> set = new HashSet<String>();
set.add("java2");
set.add("java2");
set.add("IOS2");
/**Set的迭代*/
for (Iterator<String> iterator = set.iterator(); iterator.hasNext();) {
String str = iterator.next();
System.out.println(str);
}
}
/**Set方法打印结果如下:*/
//java2
//IOS2
private static void iterMap() {
Map<String, String> map = new HashMap<String, String>();
map.put("key_1", "java3");
map.put("key_2", "Android3");
map.put("key_3", "ios3");
/**Map迭代键key和值value map.entrySet()返回此映射中包含键值映射关系的Set视图*/
Iterator<Entry<String, String>> iter = map.entrySet().iterator();
while (iter.hasNext()) {//是否有元素
Entry<String, String> entry = iter.next();//返回元素
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + " : " + value);
//iter.remove();//删除元素
}
// System.out.println(map.size());
/**Map迭代键key map.keySet()返回此映射中包含的键的Set视图*/
Iterator<String> keyIter = map.keySet().iterator();
while (keyIter.hasNext()) {
String str = keyIter.next();
System.out.println(str);
}
}
/**Map方法打印结果如下:*/
//key_3 : ios3
//key_2 : Android3
//key_1 : java3
//key_3
//key_2
//key_1
}
更多推荐
已为社区贡献1条内容
所有评论(0)