迭代器在其实就是指针,读取集合或者数组中的一个值,读完以后又指向下一条数据。
iterator()
迭代器只读,不能改效率要比for循环高
迭代器的一些方法:
HasNext() 如果仍有元素可以迭代,则返回 true Next()返回迭代的下一个元素(取值) remove()从迭代器指向的 collection 中移除迭代器返回的最后一个元素
用法:
Set集合中无法用get查询,我们可以用迭代器
import java.util.*; public class Set练习 { public static void main(String[] args) { Set<String> s=new HashSet<String>(); //创建一个Set集合 s.add("你好"); //插入 s.add("早上好"); s.add("我们一起玩吧"); s.add("好啊"); Iterator it=s.iterator(); //生成一个迭代器,并赋值给it while(it.hasNext()==true){ //while循环 迭代器的方法。如果仍有元素可以迭代则返回true 这里的==true可以省略 Object obj=it.next(); //取出里面的对象,并赋值给obj System.out.println(obj); //输出obj } } }
在List集合中也可以使用
import java.util.*; public class List练习 { public static void main(String[] args) { List<String> l=new ArrayList<String>(); //创建一个List集合 l.add("你好"); //插入 l.add("你叫什么名字"); l.add("你多大了"); Iterator it = l.iterator(); //建立一个迭代器,并赋值给it while (it.hasNext()) { //while循环,当所有的元素走完则停止 Object obj=it.next(); //将每次迭代中获取的元素赋值给obj并打印 System.out.println(obj); } } }