美文网首页
第十一章-持有对象--迭代器

第十一章-持有对象--迭代器

作者: 落叶刻痕 | 来源:发表于2017-05-02 15:55 被阅读0次

    迭代器

    迭代器(也是一种设计模式)是一个对象,它的工作是遍并选择序列中的对象。迭代器通常被称作轻量级对象,创建它的代价小。Java的 Iterator只能单向移动,这个Iterator只能用来:
    1.使用方法iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的第一个元素。
    2.使用next()获得序列中的下一个元素。
    3.使用hasNext()方法检查序列中是否还有元素。
    4.使用remove()将迭代器新近返回的元素删除(注意:在调用remove()方法之前必须先调用next())
    示例:

    List<Pet>pets=newArrayList<Pet>(Arrays.asList(newPet("cat"),newPet("dog"),newPet("snake")));
    Iterator<Pet>iterator=pets.iterator();
    while(iterator.hasNext()){
        Pet pet = iterator.next();
        iterator.remove();
        System.out.println(pet.getName());
    }
    System.out.println(pets);
    

    ListIterator

    ListIterator继承自Iterator,他只能用于各种List类的访问,并且ListIterator可以双向移动,他还可以产生当前位置的前一个元素和后一个元素的索引。方法:
    1.可以使用listIterator()方法产生一个指向List的开始出的ListIterator,也可以调用listIterator(n)方法产生一个一开始就指向就指向列表索引为n的元素处的ListIterator(注意:索引从1开始)。
    2.使用previous()方法获取序列中的上一个元素,使用previousIndex()方法获取上一个元素的索引
    3.使用next()方法获取下一个元素,使用nextIndex()方法获取下一个元素的索引
    4.使用hasNext(),hasPrevious() 方法检查是否还有元素
    5.remove()方法同上
    6.使用set()方法将当前元素替换成指定元素,同样需要先调用previous()或next()方法

    相关文章

      网友评论

          本文标题:第十一章-持有对象--迭代器

          本文链接:https://www.haomeiwen.com/subject/dgnctxtx.html