Iterator接口简介:
Java中的Iterator**功能比较简单,只能单向移动:
(1) 使用方法iterator()要求容器返回一个Iterator。
Iterator iter = list.iterator(); // 注意iterator,首字母小写
第一次调用Iterator的next()方法时,它返回序列的第一个元素。
注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
(2) 使用next()获得序列中的下一个元素。
(3) 使用hasNext()检查序列中是否还有元素。
(4) 使用remove()将迭代器新返回的元素删除。
代码如下(示例):
public class IteratorTest {
public static void main(String[] args) {
//Map遍历
Map<String,String> pets = new HashMap<String,String>();
pets.put("dog","ww");
pets.put("cat","ee");
pets.put("pig","rr");
String name="";
/*
*Entry<String, String>表示map中键值对都是String类型的
*pets.entrySet()是把HashMap类型的数据转换成集合类型
*pets.entrySet().iterator();是去获得这个集合的迭代器,保存在it中
*
*/
Iterator<Map.Entry<String, String>> it = pets.entrySet().iterator();
while (it.hasNext()){
Map.Entry entry = it.next(); //获得map中的每一个键值对
System.out.println(entry);
name =entry.getValue().toString();
System.out.println(name);
}
//list遍历
List l = new ArrayList();
l.add("a");
l.add("b");
l.add("c");
//迭代器用于while循环
Iterator iter = l.iterator();
while(iter.hasNext()){
String str = (String) iter.next();
System.out.println(str);
}
}
}
运行结果: