迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。以上引用百度的内容

     迭代器的创建和使用:利用iterator接口创建迭代器,位于java.util包下。有三个方法:

     分别是1.hasNext():如果仍有元素可以迭代,返回true.

             2.next():返回迭代的下一个元素。

             3.remove():从迭代器指向的collection中移除迭代器返回的最后一个元素(可选扣作)

     ListIterator接口继承了Iterator接口,下面创建一个listiteratorDome类,创建ArrayList对象,然后打印集合中元素的位置等信息

     ----code----------------------

    public static void Iterator1()
    {
    ArrayList <Integer>array=new ArrayList<Integer>();//创建一个ARRAYLIST,其中能够保存数据类型是INTEGER
    Collections.addAll(array, 1,2,3,4,5,6);//用Collections类中的工具方法addAll()向集合中增加元素
    System.out.println("集合中的元素"+array);
    ListIterator<Integer> iterator=array.listIterator();//用无参数的方法得到迭代器的对像
    boolean hasNext=iterator.hasNext();//判断是否有下一个元素
    System.out.println("是否有下一个元素"+hasNext);
    boolean hasPrevious=iterator.hasPrevious();//判断是否具有前一个元素
    System.out.println("集合是否具有前一个无素"+hasPrevious);
    int next=iterator.next();
    System.out.println("下一个元素是"+next);
    int nextindex=iterator.nextIndex();
    System.out.println("集合的下一个元素的索引"+nextindex);
    int previous=iterator.previous();
    System.out.println("集合的前一个元素"+previous);

}

------结果如下------

集合中的元素[1, 2, 3, 4, 5, 6]
是否有下一个元素true
集合是否具有前一个无素false
下一个元素是1
集合的下一个元素的索引1
集合的前一个元素1

最新文章

  1. C#高级编程笔记 Day 7, 2016年9月 19日 (泛型)
  2. java基础总结——概述
  3. STAF no JSTAF in java.library.path 的终极解决办法
  4. GitHub项目大全
  5. Android成长日记-Android布局优化
  6. Xamarin.Forms 现已开启对 UWP 的支持
  7. 1.6 Indexing and Basic Data Operations--目录
  8. Python 核心数据类型
  9. Rebind and Rewind in Execution Plans
  10. Cocos2dx 小技巧(十一) 小人虽短,但能够旋转
  11. Substrings(hd1238)
  12. 有关Repeater的事件
  13. MYSQL高可用(HA)随想
  14. 算法打基础——HashTable
  15. TCP的概念
  16. ftp 传输数据:命令链路连接方法是一样的,而数据链路的建立方法就完全不同
  17. 03_java基础(四)之方法的创建与调用
  18. Delphi用户登录窗口框架
  19. 【BZOJ4445】[Scoi2015]小凸想跑步 半平面交
  20. JS-获取任意html节点属性

热门文章

  1. asp.net 客户端上传文件全路径获取方法
  2. linux 环境变量设置及查看
  3. Sqoop实现关系型数据库到hive的数据传输
  4. java中String byte HexString的转换
  5. java中getBytes方法可能使图片文件产生的问题
  6. NOP登录验证管理
  7. 想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍?--转自知乎
  8. Mysql学习笔记(六)增删改查
  9. Android程序ToDoList
  10. PowerDesigner的安装和数据库创建(转载)