当前位置:  开发笔记 > 编程语言 > 正文

惯用斯卡拉地图upsert

如何解决《惯用斯卡拉地图upsert》经验,为你挑选了1个好方法。

我正在使用Scala中的地图并执行通常的"如果没有与键关联的值,创建它,将其放入地图并返回它":

def alphaMemory(key : AlphaMemoryKey) = {
    var am = map.getOrElse(key, null)
    if(am == null) {
        am = new AlphaMemory(key)
        map.put(key, am)
    }
    am
}

对我来说,这并不像惯用的Scala代码.感觉像Java.有没有更简洁的写作方式?看起来我可以覆盖Map.default()来插入新值并返回它.不过不确定.

谢谢!



1> sblundy..:

mutable.MapgetOrElseUpdate什么你想要的,没有必要的成语.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有