Iterator和Iterable

学习任何类和文档最标准的解释当然还是从jdk API里面学习,因为这个是最准确不过的东西了。想看API文档

Iterable

java.lang包中 并且Collection继承了Iterable接口。

在Iterable中有三个方法

Iterator iterator;
该方法主要是返回T类型的元素上的一个迭代器

dafault void forEach(Consumer<? super T> action);
该方法是循环输出,对内部元素进行遍历,并对元素进行指定的操作

default Spliterator spliterator;
该方法提供了一个可以并行遍历元素的迭代器,以适应现在cpu多核时代并行遍历的需求。

Iterable

java.util包中

在Iterator中有四个方法

dafault void forEachRemaining(Consumer<? super E> action);
JDK 1.8后新增默认方法 使用Lambda表达式来遍历集合元素

boolean hasNext()
如果被迭代遍历的集合还没有被遍历完,返回True

Object next()
返回集合里面的下一个元素

remove()
删除集合里面上一次next()方法返回的元素。

文档咱们看完了。估计新手还是对这两个接口有所疑问。我简单的总结一下,也是个人理解。对于Iterable接口来说,是一个操作迭代器的接口。而对于Iterator接口来说,则是将集合转化为迭代器,用迭代器的方式来操作里面的数据元素。所以集合继承是的Iterable接口,实现集合变成迭代器。下面举一个

Iterable和Iterator的关系相关推荐

  1. Java中的Iterable与Iterator详解

    在Java中,我们可以对List集合进行如下几种方式的遍历: List<Integer> list = new ArrayList<>(); list.add(5); list ...

  2. Python笔记-Collection中Iterable、Iterator和Generator的区别

    Iterable Iterable是Python集合的一种,导入方式为from collections import Iterable.Iterable对象都具有__iter__()方法,可以被for ...

  3. Java中 Iterable 和 Iterator 的区别

    1.Iterable接口 Iterable接口 (java.lang.Iterable) 是Java集合的顶级接口之一.我们首先看下这这个接口在JDK中的定义: package java.lang; ...

  4. 【Java 集合】ArrayList、LinkedList、Stack、Queue、Set、Map, 迭代器 Iterable、Iterator,Collections类

    集合类型 数组的局限性 ArrayList(常用方法 + 基本使用) ArrayList - retainAll ArrayList - toArray ArrayList 的遍历(5种) Array ...

  5. Iterable和Iterator

    Iterable和Iterator 文章目录 Iterable和Iterator 前言 分析源码 自定义迭代器示例 总结 前言 1.Iterable:是一个接口,仅有一个方法的声明,即 Iterato ...

  6. python中iterable_Python的Iterable和Iterator

    Python部落组织翻译,禁止转载,欢迎转发 Iterable: 可迭代的 Iterator:  迭代器 Iterable 可迭代的就是逻辑上是"一排"的东西,比如列表.字典.元组 ...

  7. PYTHON 之 COROUTINE

    参考资料 资料 https://blog.csdn.net/andybegin/article/details/77884645 http://python.jobbole.com/86481/ ht ...

  8. 【JDK源码】Iterator与Iterable的实现与区别

    –本文前言–     在介绍Iterator与Iterable接口之前,需要了解Iterator与Iterable接口在Java类库家族谱中的地位.如下图0-1所示.     [版权声明]归CSDN账 ...

  9. Java迭代器(转)(iterator详解以及和for循环的区别)

    摘自http://septiny.com/java/2014/09/24/java-iterator-and-for.html 迭代器是一种模式,它可以使得对于序列类型的数据结构的遍历行为与被遍历的对 ...

最新文章

  1. java 反射 注解 运用_Java注解与反射的使用
  2. 交通部:将从五方面推进京津冀暨雄安新区交通建设
  3. 【Canal源码分析】TableMetaTSDB
  4. Arbitrage(判断正环 spfa写法)
  5. ios charts显示固定个数_上次挂在了百度iOS二面不服气, 三月之期已到,这次终于拿下offer!...
  6. Linux 2.6内核启动传递命令行的过程分析
  7. 第一天:搭建环境和初始化路由
  8. IDEA好看的主题安装
  9. Java对象的GC内存分配和回收策略
  10. 参加国际学术会议心得体会
  11. 2021年网络空间安全学院预推免面试经验总结
  12. Linux之用户和权限
  13. strncpy()函数详解
  14. java7java8 集合中对象的某一个字段分组
  15. 2021年全球指拨开关收入大约420.8百万美元,预计2028年达到519.8百万美元
  16. zabbix分布式监控被动模式代理
  17. linux基础培训ppt,Linux 基础培训.ppt
  18. 锐起游戏共享精灵XP(转)
  19. 安装gcc7.3.0
  20. 苹果电脑的CCTV直播软件_我是亲民_新浪博客

热门文章

  1. vue-router动态注册路由,实现无需注册页面可跳转
  2. 【Axure高保真原型】音频上传和播放
  3. POJ - 3287 The Trip, 2007
  4. win7安装使用mosquitto,vs2010中使用libmosquittopp
  5. 中国工业设计行业市场现状及投资策略分析报告2021年
  6. matlab空间曲线展开,MATLAB曲线绘制的一些技巧和注解
  7. 拉格朗日插值和求多项式系数
  8. 学生科学计算机怎么关机,学生用科学计算器如何关机
  9. TYWZOJ[1580]皇宫看守
  10. 后农耕时代,DeFi何去何从?