过程:

  • 类IterableClass 实现 Iterable接口
    words数组And that is how we know the Earth to be banana-shaped.
    main:验证foreach方法

个人实现:

package thinking;import java.util.Iterator;public class IterableClass implements Iterable<String> {private static String [] words = "And that is how we know the Earth to be banana-shaped.".split(" ");public static void main(String[] args) {// TODO Auto-generated method stubfor(String s  : words){System.out.println(s);}}@Override//未写出public Iterator<String> iterator() {return new Iterator<String>() {private int index = 0;@Overridepublic boolean hasNext() {// TODO Auto-generated method stubreturn index>words.length;}@Overridepublic String next() {// TODO Auto-generated method stubreturn words[index++];}} ;}}

原书实现:

package thinkingjava;import java.util.Iterator;public class IterableClass implements Iterable<String> {protected String [] words = ("And that is how we know the Earth to be banana-shaped.").split(" ");@Overridepublic Iterator<String> iterator() {return new Iterator<String>() {private int index = 0;@Overridepublic boolean hasNext() {// TODO Auto-generated method stubreturn index<words.length;}@Overridepublic String next() {// TODO Auto-generated method stubreturn words[index++];}public void remove(){throw new UnsupportedOperationException();}} ;}public static void main(String[] args) {// TODO Auto-generated method stubfor(String s  : new IterableClass()){System.out.print(s+" ");}}}

比较:
1、hasNext条件写反
2、完美避开了自己实现的iterator方法 :)))

Thinking in Java 11.13 Foreach与迭代器相关推荐

  1. Apache Ant 1.9.13和1.10.5发布–支持Java 11单文件源程序

    我们刚刚发布了Apache Ant的1.9.13和1.10.5版本 . 与往常一样,您可以从Ant项目下载页面下载它. 这两个版本主要是错误修复版本. 但是,1.10.5版对" java&q ...

  2. Java 方法使用总结(重载、数组输出、enum和switch、foreach和迭代器、可变长度参数、重载中使用可变长度参数)

    方法重载 方法名相同 方法的参数类型,参数个不一样 方法的返回类型可以不相同 方法的修饰符可以不相同 main 方法也可以被重载 class MyClass {int height;MyClass() ...

  3. Java中使用foreach带来的一些问题

    foreach总结: foreach是java5的新特性,foreach主要是增强了for循环,在遍历数组和集合上很方便. foreach是for循环的简化版本,但是foreach不能完全取代for循 ...

  4. Java 8 Iterable.forEach()与foreach循环

    本文翻译自:Java 8 Iterable.forEach() vs foreach loop Which of the following is better practice in Java 8? ...

  5. java11 是长期支持_这里有你不得不了解的Java 11版本特性说明

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  6. Java 11 正式发布!

    有多少语言在提刀想反超 Java 的路上?但万万没想到,人家并未当回事,如今这款常青藤甚至越跑越欢,当我们还在使用 Java 7/8 时,它已经一路跑到了 11. 和预期的时间差不多,北京时间 9 月 ...

  7. Java源码详解六:ConcurrentHashMap源码分析--openjdk java 11源码

    文章目录 注释 类的继承与实现 数据的存储 构造函数 哈希 put get 扩容 本系列是Java详解,专栏地址:Java源码分析 ConcurrentHashMap 官方文档:ConcurrentH ...

  8. Java源码详解五:ArrayList源码分析--openjdk java 11源码

    文章目录 注释 类的继承与实现 构造函数 add操作 扩容函数 remove函数 subList函数 总结 本系列是Java详解,专栏地址:Java源码分析 ArrayList 官方文档:ArrayL ...

  9. Java源码详解三:Hashtable源码分析--openjdk java 11源码

    文章目录 注释 哈希算法与映射 线程安全的实现方法 put 操作 get操作 本系列是Java详解,专栏地址:Java源码分析 Hashtable官方文档:Hashtable (Java Platfo ...

  10. Java源码详解二:HashMap源码分析--openjdk java 11源码

    文章目录 HashMap.java介绍 1.HashMap的get和put操作平均时间复杂度和最坏时间复杂度 2.为什么链表长度超过8才转换为红黑树 3.红黑树中的节点如何排序 本系列是Java详解, ...

最新文章

  1. srand((unsigned)time(NULL))详解
  2. 小程序button引导用户授权
  3. “编译器错误信息: CS0016: 未能写入输出文件”解决方法
  4. Linux监听请求到达时间,4: zabbix5.0自动发现网站域名并监控访问状态和请求时间...
  5. Hadoop核心机制详细解析
  6. Exchange 2007 SP1 如何定时清理日志???
  7. 推荐一款文件搜索神器Everything!
  8. 通配符在泛型中的应用
  9. 用Shell脚本在推出的RAC节点上批量部署32个Oracle11gR2 RAC备份恢复案例场景的方法PART2...
  10. linux查代替命令,Linux下查/删/替 命令(转)
  11. PHP | 检查字符串中是否存在特定的单词/子字符串
  12. x64 结构体系下的内存寻址
  13. 【报告分享】2020年教育行业OMO模式转型现状研究报告.pdf(附下载链接)
  14. 重庆中职高考计算机专业试题,职业高中高考计算机专业试卷3答案
  15. 遍历Map集合的四种方式
  16. 非洲Affrike单词
  17. AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets
  18. asp毕业设计—— 基于asp+access的软件信息发布系统设计与实现(毕业论文+程序源码)——软件信息发布系统
  19. Linux bc命令
  20. 在线文字转语音以及编辑的网址

热门文章

  1. Linux学习之在线安装mysql
  2. Android 中进程的级别以及 Service 的优先级
  3. docker的核心原理-cgroup
  4. extjs-mvc结构实践(二):基本页面
  5. 电子邮件.NET控件MailBee.NET Objects v11.1发布丨附下载
  6. java位数补0处理
  7. 在linux下设置开机自动启动程序的方法
  8. 6.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Lua 语言
  9. 53.NFS 服务器
  10. 8. memached安全性