资讯专栏INFORMATION COLUMN

java集合--Iterator接口

xfee / 664人阅读

摘要:其实,来源于包,也是属于集合框架中的一份子,不同于存放单一数据和存放具有映射关系的数据,主要用于集合元素的迭代输出,所以它的对象又被称为迭代器。

    上一篇文章中我在集合元素的遍历中已经有涉及到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://segmentfault.com/a/1190000019071471

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74413.html

相关文章

  • java集合

    摘要:主要用于遍历集合中的元素,对象也被称为迭代器。使用迭代过程中,不可修改集合元素迭代器采用快速失败机制。一旦迭代过程中检测到该集合已经被修改,程序立即出发异常,而不是显示修改后的结果,避免了共享资源而引发的潜在问题。 集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用变量);而集合里只能保存对象(实际上只是保存对象的引用变量,但通常习惯上认为集...

    JinB 评论0 收藏0
  • Java 集合 Collection、Iterator

    摘要:如果需要创建对象,则必须与一个被迭代的集合。这是一个有状态的方法该方法用于保证对该流的后续访问中最大允许访问的元素个数。可以对集合元素进行整体的聚集操作。 Java集合分为Set(无序、不可重复)、List(有序、重复)、Queue(队列)和Map(映射关系) Java集合概述 数组元素既可以是基本类型的值,也可以是对象(实际保存对象的引用变量)集合只能保存对象(实际保存对象的引用变量...

    harryhappy 评论0 收藏0
  • Java-集合

    摘要:对象称作迭代器,接口方法能以迭代方式逐个访问集合中各个元素,并可以从中除去适当的元素。一相同点都是迭代器,当需要对集合中元素进行遍历不需要干涉其遍历过程时,这两种迭代器都可以使用。 Collection接口 首先,看一下Collection集合的基本结构:showImg(https://segmentfault.com/img/bVDYWR?w=743&h=380); 1.Collec...

    happen 评论0 收藏0
  • 集合概要学习---粗略

    摘要:集合框架的基本接口类层次结构其中表示接口,表示实现类和在实际开发中,需要将使用的对象存储于特定数据结构的容器中。实例是迭代器,拥有两个方法方法迭代器用于遍历集合元素。返回值则是转换后的数组,该数组会保存集合中的所有元素。 Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构。 Java集合框架的基本接口/类层次结构...

    DesGemini 评论0 收藏0
  • java集合--Collection接口

    摘要:集合的元素个数为输出集合的元素个数为在本代码中,新建一个局部变量保存的成员方法返回的值,输出得到因为只有一个元素。注若遍历集合的同时改变集合,将引发异常。     在概述里面也说过:Collection是java集合两大接口之一,旗下有三大子接口:Set(元素不能重复,且无序)、Queue、List(元素可重复,且有序)。    Collection来源于java.util包,主要方法...

    k00baa 评论0 收藏0
  • 集合接口

    摘要:二类库中的集合接口和迭代器接口集合类的基本接口是接口,有两个基本方法方法用于向集合中添加元素,添加元素确实改变集合,返回,否则集中不允许有重复的对象。 一. 集合接口 Java集合类库将接口(interface)与实现(implementation)分离。举个例子,队列接口的最小形式 interface Queue { void add(E element); E remove();...

    Lemon_95 评论0 收藏0

发表评论

0条评论

xfee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<