- Scala 集合教程
- Scala 集合 - 首頁
- Scala 集合 - 概述
- Scala 集合 - 環境設定
- Scala 集合 - 陣列
- Scala 集合 - 陣列
- Scala 集合 - 多維陣列
- Scala 集合 - 使用 Range 建立陣列
- Scala 集合 - ArrayBuffer
- Scala 集合 - 列表
- Scala 集合 - 列表
- Scala 集合 - ListBuffer
- Scala 集合 - ListSet
- Scala 集合 - 向量
- Scala 集合 - 集合
- Scala 集合 - 集合
- Scala 集合 - BitSet
- Scala 集合 - HashSet
- Scala 集合 - TreeSet
- Scala 集合 - 對映
- Scala 集合 - 對映
- Scala 集合 - HashMap
- Scala 集合 - ListMap
- Scala 集合 - 其他
- Scala 集合 - 迭代器
- Scala 集合 - Option
- Scala 集合 - 佇列
- Scala 集合 - 元組
- Scala 集合 - Seq
- Scala 集合 - 棧
- Scala 集合 - 流
- Scala 集合組合器方法
- Scala 集合 - drop
- Scala 集合 - dropWhile
- Scala 集合 - filter
- Scala 集合 - find
- Scala 集合 - flatMap
- Scala 集合 - flatten
- Scala 集合 - fold
- Scala 集合 - foldLeft
- Scala 集合 - foldRight
- Scala 集合 - map
- Scala 集合 - partition
- Scala 集合 - reduce
- Scala 集合 - scan
- Scala 集合 - zip
- Scala 集合有用資源
- Scala 集合 - 快速指南
- Scala 集合 - 有用資源
- Scala 集合 - 討論
Scala 集合 - scan 方法
scan() 方法是 `TraversableLike` 特質的成員,它類似於 fold 方法,但用於對集合的每個元素應用操作並返回一個集合。
語法
以下是 fold 方法的語法。
def scan[B >: A, That](z: B)(op: (B, B) ? B)(implicit cbf: CanBuildFrom[Repr, B, That]): That
這裡,scan 方法將關聯二元運算子函式作為引數。此方法返回更新後的集合作為結果。它將第一個輸入視為初始值,將第二個輸入視為函式。
用法
以下是一個示例程式,演示如何使用 scan 方法:
示例
object Demo {
def main(args: Array[String]) = {
val list = List(1, 2, 3 ,4)
//apply operation to create a running total of all elements of the list
val list1 = list.scan(0)(_ + _)
//print list
println(list1)
}
}
這裡我們將 0 作為初始值傳遞給 scan 函式,然後將所有值相加。將上述程式儲存為 **Demo.scala**。使用以下命令編譯和執行此程式。
命令
\>scalac Demo.scala \>scala Demo
輸出
List(0, 1, 3, 6, 10)
廣告