我想将a转换Map[Int, Any]为a SortedMap或a TreeMap.有一个简单的方法吗?
我有一个Map [String,String]并希望将值连接到一个字符串.
我可以看看如何使用List ...
scala> val l = List("te", "st", "ing", "123")
l: List[java.lang.String] = List(te, st, ing, 123)
scala> l.reduceLeft[String](_+_)
res8: String = testing123
Run Code Online (Sandbox Code Playgroud)
fold*或reduce*似乎是正确的方法我只是无法获得Map的语法.
我在java工作,主要是Scala.我正在使用Intellij的社区版.我很好奇它是否值得升级到终极版?我和Intellij和Eclipse一直在来回......对于Scala开发我更喜欢Intellij(现在).
提前致谢...
我很害怕Scala新手:我正在尝试根据一些简单的逻辑将Map转换为新的Map:
val postVals = Map("test" -> "testing1", "test2" -> "testing2", "test3" -> "testing3")
Run Code Online (Sandbox Code Playgroud)
我想测试值"testing1"并更改值(创建新Map时)
def modMap(postVals: Map[String, String]): Map[String, String] = {
postVals foreach {case(k, v) => if(v=="testing1") postVals.update(k, "new value")}
}
Run Code Online (Sandbox Code Playgroud) 例如:我有一个地图列表,我想从地图的第三个"列"的值创建一个列表...
val l = List(Map(1 -> "test", 2 -> "test", 3 -> "test"), Map(4 -> "test", 5 -> "test", 6 -> "test"))
Run Code Online (Sandbox Code Playgroud) 我不确定为什么这不起作用:
scala> case class Loader(n: String, x: String, l: List[String])
scala> val m: Map[String, (List[String])=>Loader] =
| Map("x" -> Loader("x", "x1", _:List[String]))
<console>:8: error: type mismatch;
found : (List[String]) => (java.lang.String, Loader)
required: (String, (List[String]) => Loader)
Map("x" -> Loader("x", "x1", _:List[String]))
Run Code Online (Sandbox Code Playgroud)
但这样呢?
scala> Loader("t", "x", _:List[String])
res7: (List[String]) => Loader = function1>
scala> val m = Map("x" -> res7)
m: scala.collection.immutable.Map[java.lang.String,(List[String]) => Loader] =
Map((String,function1>))
Run Code Online (Sandbox Code Playgroud) Scala新手警报:
基本上我正在尝试做这样的事情:我模式匹配并返回一个字符串.
scala> def processList(list: List[String], m: String): String={list foreach (x=> m match{
| case "test" => "we got test"
| case "test1"=> "we got test1"})}
Run Code Online (Sandbox Code Playgroud)
:10:错误:类型不匹配; found:需要的单位:String def processList(list:List [String],m:String):String = {list foreach(x => m match {
我知道我可以设置一个var并在for comp之后返回它...但这似乎不是Scala方式.