関数をメモ化するときのメモとして使うことを想定した私的メモ.
Import
import scala.collection.mutable
初期化
例:
val dp = mutable.Map.empty[(Int, Int), Int]
利用
未設定のキーにアクセスすると例外が発生するので,contains
で事前に存在を確認する.
-
contains
- 未設定のキーにアクセスすると例外なので事前確認
-
apply
-
apply(key)
で値にアクセスできる
-
-
+=
- キー値のペアを追加する
例:
val k = (1, 3)
if (dp.contains(k)) dp(k)
else {
dp += (k -> result)
result
}
get
してパタンマッチするよりも速そうなので,このようにしています.