相关疑难解决方法(0)

基于先前值更新Map中的值的惯用方法

假设我将银行账户信息存储在一个不可变的Map:

val m = Map("Mark" -> 100, "Jonathan" -> 350, "Bob" -> 65)
Run Code Online (Sandbox Code Playgroud)

我想从马克的帐户中提取50美元.我可以这样做:

val m2 = m + ("Mark" -> (m("Mark") - 50))
Run Code Online (Sandbox Code Playgroud)

但这段代码对我来说似乎很难看.有没有更好的方法来写这个?

scala map immutability

43
推荐指数
4
解决办法
2万
查看次数

scala更好的map getOrElse语法

有没有更好的方法来编写下面的代码?

val t = map.get('type).getOrElse(""); 
if (t != "") "prefix" + t;
Run Code Online (Sandbox Code Playgroud)

对内联代码感兴趣

val t = map.get('type).getOrElse("").????
Run Code Online (Sandbox Code Playgroud)

scala

14
推荐指数
2
解决办法
3万
查看次数

如何更新mutable.Map中的当前值?

是否有一种优雅的方式来更新Map中已存在的值?

这看起来太吓人了:

val a = map.get ( something ) 
if ( a != null ) // case .. excuse my old language
   a.apply( updateFunction )
else 
   map.put ( something, default )
Run Code Online (Sandbox Code Playgroud)

scala

8
推荐指数
1
解决办法
3278
查看次数

标签 统计

scala ×3

immutability ×1

map ×1