forall

对集合中的元素进行某个判断,全部为true则返回true,反之返回false。

例如:

scala> var s = List("hello", "world")
s: List[String] = List(hello, world) scala> s.forall( f => f.contains("h") )
res34: Boolean = false scala> s.forall( f => f.contains("o") )
res35: Boolean = true
exists

对集合中的元素进行某个判断,其中之一符合条件则返回true,反之返回false。和forall是一个对应的关系,相当于 and 和 or。

例如:

scala> s.exists( f => f.contains("h") )
res36: Boolean = true
foreach

对集合中元素进行某种操作,但是返回值为空,实际上相当于for循环的一个简写版。这个看上去比较绕,本来我以为是可以对元素进行某种更改呢,后来发现是理解错误的。

例如:

scala> s.foreach( f => println(f) )
hello
world scala> s.foreach( f => f.concat("test") )
scala> s
res39: List[String] = List(hello, world) scala> var res = s.foreach( f => f.concat("test") )
scala> res

同时,我这里犯了个错误:就是List不可变。所以本身List就不会被更改,若想使用可变List,需使用scala.collection.mutable.ListBuffer.empty[type]

map

对集合中元素进行某个操作,返回值非空。比较绕,和foreach类似,但是返回值非空。

例如:

scala> s.map( f => f.concat("test") )
res41: List[String] = List(hellotest, worldtest) scala> s
res42: List[String] = List(hello, world) scala> var res = s.map( f => f.concat("test") )
res: List[String] = List(hellotest, worldtest) scala> s
res43: List[String] = List(hello, world) scala> res
res44: List[String] = List(hellotest, worldtest)
参考

Scala中的foreach forall exists map函数及其区别的更多相关文章

  1. Python【day 14】sorted函数、filter函数和map函数的区别

    sorted函数.filter函数和map函数的区别1.作用 前者用于排序, 中者用于筛选, 后者用于返回值(不是特定的筛选或者排序)2.写法 前者 sorted(iterable,key=自定义函数 ...

  2. Scala 中的foreach和map方法比较

    Scala中的集合对象都有foreach和map两个方法.两个方法的共同点在于:都是用于遍历集合对象,并对每一项执行指定的方法.而两者的差异在于:foreach无返回值(准确说返回void),map返 ...

  3. Scala中的构造器和高阶函数

    构造器 在定义类时可以定义主构造器.主构造器可以同时声明字段. /** * 主构造器 * @author Administrator */ //在scala中,类和方法交织在一起 class Test ...

  4. Scala中的偏函数与部分应用函数

    Scala中有PartialFunction的概念, 同时还要一个概念叫Partial Applied Function. 前者译作偏函数, 后者译作"偏应用函数"或"部 ...

  5. 【Scala篇】--Scala中集合数组,list,set,map,元祖

    一.前述 Scala在常用的集合的类别有数组,List,Set,Map,元祖. 二.具体实现 数组   1.创建数组 new Array[Int](10) 赋值:arr(0) = xxx Array[ ...

  6. 第88讲:Scala中使用For表达式实现map、flatMap、filter

    今天我们来学习一下如何使用for表达式实现map.flatMap以及filter 首先,我们来看下map.map的功能是,传入一个list,通过一个函数f,将list中的元素A变成元素B的过程.最后得 ...

  7. filter、map函数的区别

    def even(num): if num%2==0: return True return False lis = [1,2,3,4,5,6,7,8,9] res = filter(even,lis ...

  8. Java中timer的schedule()和schedualAtFixedRate()函数的区别

    本文主要讨论java.util.Timer的schedule(timerTask,delay,period)和scheduleAtFixedRate(timerTask,delay,period)的区 ...

  9. Scala 中 call by name & call by value 的区别

    call by value:会先计算参数的值,然后再传递给被调用的函数 call by name:参数会到实际使用的时候才计算 定义方法 def return1():Int = { println(& ...

随机推荐

  1. [转载]eclipse自动同步插件filesync的使用

    原文地址:eclipse自动同步插件filesync的使用作者:老孙丢了金箍棒    这篇文章和之前我写的<eclipse下自动部署WEB项目>根本目的是一样的,只是达到目的的方式不同. ...

  2. 对Java的常用对象(POJO、DTO、PO、BO、VO、DAO)详细解释及应用场景

    首先这些对象都应用都是一些单词的简称,也是一种应用思想,故其他语言也可以使用,在Java里比较常见这些对象吧.下面来一一解释. 一.POJO(Plain Ordinary Java Object). ...

  3. JavaScript概念梳理

    一.JavaScript 的奇葩命名史 1995 年,网景浏览器(Netscape Navigator)首次发布了一种运行于浏览器端的脚本语言,网景给这个新语言命名为 LiveScript.一年后,为 ...

  4. Oslo 相机 App

    https://itunes.apple.com/cn/app/osho/id1203312279?mt=8.它支持1:1,4:3,16:9多种分辨率拍摄,滤镜可在取景框的实时预览,拍摄过程可与滤镜实 ...

  5. 深度优化LNMP之PHP

    PHP缓存加速介绍   1.操作码介绍及缓存原理     当客户端请求一个php程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码文件(Operate Code,opcode)该文 ...

  6. webdriver之py,driver启动chrome时加载profile

    import os from selenium import webdriver from selenium.webdriver.chrome.options import Options execu ...

  7. Git 获取仓库(分布式版本控制系统)

    1.在现有目录中初始化仓库 如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入以下命令. # 初始化仓库 $ git init 该命令将创建一个名为 .git 的子目录,这个 ...

  8. RemoteDesktopManager 简单使用说明

    最近项目需要在多台window系统上,安装应用,没错,是window orz..没有了secureCRT putty等好用的窗体工具,真的挺难受的. 爱折腾的博主,百度了下,发现RemoteDeskt ...

  9. Js实现动态添加删除Table行示例

    <table cellpadding="0" cellspacing="0" border="1" style="margi ...

  10. 测试rp文件

    正文: 测试我的博客,我的资源在github上! 地址:https://github.com/gmqllf/tx-lcn