美文网首页
JAVA集合--Iterator接口

JAVA集合--Iterator接口

作者: cartoony | 来源:发表于2019-05-05 17:19 被阅读0次

    上一篇文章中我在集合元素的遍历中已经有涉及到Iterator的普遍使用方法,但是并没有对此进行解释。
    其实,Iterator来源于java.util包,也是属于Java集合框架中的一份子,不同于Collection(存放单一数据)和Map(存放具有映射关系的数据),Iterator主要用于集合元素的迭代输出,所以它的对象又被称为迭代器。

    Iterator的方法包括:

   
boolean hasNext(); 判断迭代器是否还有未遍历的元素
E next(); 返回迭代器中下一未遍历元素
void remove(); 移除迭代器上一遍历的元素
void forEachRemaining(Consumer action) 以特定的Lambda表达式遍历元素

注:void forEachRemaining(Consumer action)为Java 8新增的默认方法。

    下面是Iterator的实例化以及各方法的使用方法

  • Iterator的实例化
Iterator it=c5.iterator();

    Iterator本身不存在容纳对象的能力,它的对象必须依附于Collection对象。
同时,一个Iterator对象只能使用一次,复用会导致java.util.ConcurrentModificationException。我还没搞懂为什么会这样,应该是关于设计模式的内容。

  • boolean hasNext();以及next();
while(it.hasNext()) {
    System.out.println(it.next());
}
输出:5
  • void remove();
while(it.hasNext()) {
    System.out.println(it.next());
    it.remove();
}
输出:5

    remove方法要在next方法之后调用,次序调换会导致java.lang.IllegalStateException

  • void forEachRemaining(Consumer action);
Iterator it=c5.iterator();
it.forEachRemaining(obj->System.out.println(obj));
输出:5

    通过特定的Lambda表达式格式输出元素。

     Iterator接口就写到这里了。通常我都是用它作为测试Collection对象的,好处就是不用通过循环遍历,代码量会少一点。但是正式使用我还是会使用循环遍历Collection对象,虽则代码量多,但是可以省掉一个对象的内存空间,能省一点是一点,哈哈!

    如果你还想了解关于java集合的内容,欢迎点击https://www.jianshu.com/p/08970cf8107d

相关文章

  • 集合详解

    Iterator:迭代器,它是Java集合的顶层接口(不包括 map 系列的集合,Map接口 是 map 系列集合...

  • 9 Java集合 - 基础

    9.1 Java集合的继承体系 9.2 Collection和Iterator接口 Collection接...

  • Java集合族谱总结

    集合族谱核心成员 所有的集合类,都实现了Iterator接口,这是用于遍历集合中元素的接口;Java集合框架核心是...

  • JAVA集合--Iterator接口

    上一篇文章中我在集合元素的遍历中已经有涉及到Iterator的普遍使用方法,但是并没有对此进行解释。其实,Iter...

  • Java学习笔记(2)

    二. java中的集合 Collection和Iterator接口 Collection是List、Set、和Qu...

  • Java集合【2】——— iterator接口

    一、iterator接口介绍 iterator接口,也是集合大家庭中的一员。和其他的Map和Collection接...

  • 技术分享:集合

    1. Iterator 1.1什么是Iterator? 概念:Iterator是一个接口,它是集合的迭代器,集合可...

  • Iterator遍历集合特点

    Java中使用Iterator来遍历集合元素,Iterator遍历集合元素有以下几个特点: ** Iterator...

  • 集合

    Java集合框架 将集合的接口与实现分离 队列通常有两种实现形式:循环数组和链表 迭代器 Iterator接口的r...

  • Iterator

    Java集合框架分析-Iterator

网友评论

      本文标题:JAVA集合--Iterator接口

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