繁体   English   中英

惯用斯卡拉地图upsert

[英]Idiomatic Scala Map upsert

我正在使用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()来插入新值并返回它。 不过不确定。

谢谢!

mutable.MapgetOrElseUpdate ,它可以完全满足您的需要,不需要任何习惯用法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM