将二元函数应用于Scala集合
来源:互联网 发布:无主之地前传网络联机 编辑:程序博客网 时间:2024/06/05 18:20
map可以将一元函数应用于集合(得到一组值),而foldLeft 可以将二元函数应用于集合(得到一个值)。
/**foldLeft 常常用来替代while循环*/ def foldLeft[B](z: B)(f: (B, A) => B): B = { // acc 是var var acc = z var these = this while (!these.isEmpty) { acc = f(acc, these.head) these = these.tail } acc }
<pre name="code" class="java">var map = scala.collection.mutable.Map[Char,Int]()"hello".foldLeft(map){ (m,char) => m + (char -> (m.getOrElse(char,0)+1))}
result: scala.collection.mutable.Map[Char,Int] = Map(e -> 1, h -> 1, l -> 2, o -> 1)
0 0
- 将二元函数应用于Scala集合
- scala使用zip合并两个集合为二元组集合
- 泛型应用于集合
- bind1st和bind2nd函数用于将一个二元算子
- 将拖放应用于程序
- scala中的函数、变量、集合、对象---scala学习笔记(1)
- scala集合函数式编程使用示例
- Spark基础-Scala集合函数式编程
- 随机函数应用于游戏
- 随机数函数应用于游戏
- 随机函数应用于游戏
- Scala集合
- Scala集合
- Scala 集合
- Scala集合
- scala集合
- Scala集合
- scala 集合
- 深入理解Apache Mina (1)---- Mina的几个类
- 线程
- [Windows编程] 通过GetModuleHandleEx 得到函数调用者所在的DLL/EXE
- android之子线程中Handler
- 定位Android NDK开发中遇到的错误
- 将二元函数应用于Scala集合
- css绝对定位、相对定位和文档流的那些事
- 稻香
- Android开发性能优化总结
- 纯CSS实现扑克牌效果,太牛了吧
- js模拟多线程
- Win 7 64位系统安装32位AutoCAD 2012方法
- 如何让文件显示/不显示后缀(windows 7)
- Xcode视图调试器