·Iterator是一种接口可以以统一的方式对ArrayList、Map、Set等各种集合元素进行遍历。
·hasNext()方法检测集合中是否还有下一个元素
·next()方法返回集合中的下一个元素
·Iterator的作用:
1.为各种数据结构提供一个统一的访问接口
2.使得数据结构的成员能够按某种次序排列
·Iterator遍历过程:
创建一个指针对象,指向当前数据结构的起始位置。(遍历器的本质就是一个指针对象)
第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员
第二次调用指针对象的next方法,指针就指向数据结构的第二个成员
不断调用指针对象的next方法,直到它指向数据结构的结束位置
用ArrayList使用Iterator进行遍历:
package Iterator;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class test {
public static void main(String[] args) {
List t=new ArrayList();
t.add("今天");
t.add("是");
t.add("小年");
Iterator it = t.iterator();
while(it.hasNext()) { //判断集合当中是否还有元素
System.out.print(it.next() + " ");
}
}
}
运行结果为:今天 是 小年
用Map使用Iterator进行遍历:
package Iterator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
public class maptest {
public static void main(String[] args){
//MapMapmap=new HashMap();
map.put("pig","猪");
map.put("cat","猫");
map.put("dog","狗");
Iteratorit=map.keySet().iterator();//打印输出key值
//Iteratorit=map.values().iterator(); //打印输出values值
while(it.hasNext()) { //判断集合当中是否还有元素
System.out.println(it.next()+" ");
}
//打印输出key-value的值可以用entrySet方法
//Set> entrySet=map.entrySet();
//for(Entryentry:entrySet) {
//System.out.print(entry.getKey()+"-");
//System.out.println(entry.getValue());
//}
}
}
运行结果为:
cat
dog
pig