目录

iterator迭代器

使用迭代器遍历集合


iterator迭代器

scala针对每一类集合都提供了一个迭代器(iterator)用来迭代访问集合

使用迭代器遍历集合

  • 使用iterator方法可以从集合获取一个迭代器
  • 迭代器的两个基本操作
    • hasNext——查询容器中是否有下一个元素
    • next——返回迭代器的下一个元素,如果没有,抛出NoSuchElementException
  • 每一个迭代器都是有状态的(只能用一次, 内部指针只走一次, 走到最后就结束了, 不会再回到开头, 除非你再取得一个新的迭代器)
    • 迭代完后保留在最后一个元素的位置
    • 再次使用则抛出NoSuchElementException
  • 可以使用while或者for来逐个返回元素

示例

定义一个列表,包含以下元素:1,2,3,4,5

使用while循环和迭代器,遍历打印该列表

参考代码

scala> val ite = a.iterator
ite: Iterator[Int] = non-empty iteratorscala> while(ite.hasNext) {| println(ite.next)| }

示例

定义一个列表,包含以下元素:1,2,3,4,5

使用for 表达式和迭代器,遍历打印该列表

参考代码

scala> val a = List(1,2,3,4,5)
a: List[Int] = List(1, 2, 3, 4, 5)scala> for(i <- a) println(i)

2021年大数据常用语言Scala(十九):基础语法学习 iterator迭代器相关推荐

  1. 2021年大数据常用语言Scala(九):基础语法学习 break和continue

    目录 break和continue 实现break 实现continue break和continue 在scala中,类似Java和C++的break/continue关键字被移除了 如果一定要使用 ...

  2. 2021年大数据常用语言Scala(十四):基础语法学习 数组  重点掌握

    目录 数组  重点掌握 定长数组 变长数组 遍历数组 数组常用算法 数组  重点掌握 scala中数组的概念是和Java类似,可以用数组来存放一组数据.scala中,有两种数组,一种是定长数组,另一种 ...

  3. 2021年大数据常用语言Scala(四):基础语法学习 声明变量

    目录 声明变量 语法格式 在解释器中定义一个变量 val和var变量 使用类型推断来定义变量 惰性赋值 声明变量 我们将来每一天编写scala程序都会定义变量.那scala语言如何定义变量呢? 语法格 ...

  4. 2021年大数据常用语言Scala(三十一):scala面向对象 特质(trait)

    目录 特质(trait) 作为接口使用 定义具体的方法 定义具体方法和抽象方法 定义具体的字段和抽象的字段 实例对象混入trait trait调用链 trait的构造机制 trait继承class 特 ...

  5. 2021年大数据常用语言Scala(一):Scala简介

    目录 一.Scala简介 为什么使用scala Scala对比Java 案例 一.Scala简介 scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程 多范式:就是包含多种编程思 ...

  6. 2021年大数据常用语言Scala(十六):基础语法学习 列表 List 重点掌握

    目录 列表 List 重点掌握 不可变列表定义 可变列表 列表常用操作 列表 List 重点掌握 列表是scala中最重要的.也是最常用的数据结构.List具备以下性质: 可以保存重复的值 有先后顺序 ...

  7. 2021年大数据常用语言Scala(三十八):scala高级用法 隐式转换和隐式参数

    目录 隐式转换和隐式参数 隐式转换 自动导入隐式转换方法 隐式转换的时机 隐式参数 隐式转换和隐式参数 隐式转换和隐式参数是scala非常有特色的功能,也是Java等其他编程语言没有的功能.我们可以很 ...

  8. 2021年大数据常用语言Scala(三十六):scala高级用法 泛型

    目录 泛型 定义一个泛型方法 定义一个泛型类 上下界 协变.逆变.非变 非变 协变 逆变 泛型 scala和Java一样,类和特质.方法都可以支持泛型.我们在学习集合的时候,一般都会涉及到泛型. sc ...

  9. 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类

    目录 scala面向对象 MAVEN依赖 类 - 掌握 创建类和对象 - 掌握 getter/setter - 了解 类的构造器 - 掌握 scala面向对象 MAVEN依赖 <?xml ver ...

最新文章

  1. nginx的一次安装与配置
  2. 解决三星 BIOS 模式没有 Fast Bios Mode选项 U盘动项问题
  3. 浅谈SD-WAN未来的发展方向
  4. 结构体+字符串比较大小(HDU1234开门人和关门人 )
  5. hadoop常用命令演示(图片)
  6. 展望 | 2020年人工智能八大趋势
  7. C Tricks(十六)—— 复制字符串
  8. JSP 语法2 都在百分号里面: 5.@符号加JSP三种指令标签 6
  9. opencv图像分析与处理(12)-逆滤波、维纳滤波、约束最小二乘方滤波和几何均值滤波
  10. contos下安装JDK1.7 ,tomcat,nginx
  11. python中eval函数和str函数
  12. 黑马程序员_常见的几个运行时异常
  13. h5页面制作软件html包,iH5专业H5页面制作工具网页版
  14. 推荐几款地图软件,你家的老房子都能看得一清二楚
  15. 母牛的故事【HDOJ2018】
  16. Android开发【记事本App】项目开发流程——1
  17. html表格打印分页无边框_excel怎么显示打印线-表格换页打印没有边框线
  18. 把照片做成计算机符号,把家驹的照片做成了符号的形式
  19. Arista 交换机升级手册
  20. icloud备份qq数据怎么恢复

热门文章

  1. 2022-2028年中国数字电视产业投资分析及前景预测报告(全卷)
  2. 使用 Go module 后 VScode 智能提示不生效解决方案
  3. 2022-2028中国橡胶衬里行业全景调研及竞争格局预测报告
  4. SpringBoot2.3 修改响应头、添加更新token、解决在过滤器中修改失败
  5. sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系
  6. python yield 和 return 对比分析
  7. FuzzyCMeans算法
  8. Linux 内核,30 年C 语言将升级至 C11
  9. 英特尔 i5-9400F,或将成为本年最高性价比的游戏处理器
  10. 会议重点介绍芯片设计中的人工智能