迭代器
所有实现了Collection接口的容器类,都有一个iterator方法,用以返回一个实现Iterator接口的对象
Iterator对象称作为迭代器,用以方便的对容器内元素的遍历操作
Iterator接口定义了如下方法:
方法 | 说明 |
---|---|
boolean hashNext(); | 判断是否有元素没有被遍历 |
Object next(); | 返回游标当前位置的元素并将游标移动到下一个位置 |
void remove(); | 删除游标左边的元素,在执行完next之后该操作只能执行一次 |
问题:何遍历Map集合呢?
分析:
- 方法1:通过迭代器Iterator实现遍历
获取Iterator :Collection 接口的iterator()方法
Iterator的方法:
boolean hasNext(): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素
Set keys=dogMap.keySet(); //取出所有key的集合
Iterator it=keys.iterator(); //获取Iterator对象
while(it.hasNext()){
String key=(String)it.next(); //取出key
Dog dog=(Dog)dogMap.get(key); //根据key取出对应的值
System.out.println(key+"\t"+dog.getStrain());
}
- 方法2:增强for循环
for(元素类型t 元素变量x : 数组或集合对象){
引用了x的java语句
}