我需要Scala的一些帮助。我真的很难理解如何处理收藏品。我要做的是遍历像这样的列表
List( MyObject(id, name, status), ..., MyObject(id, name, status) )
并获得另一个像这样的列表
List( Map("key", id1), Map("key", id2), ..., Map("key", idN) )
请注意,所有地图的'key'元素必须相同
由于
答案 0 :(得分:1)
您可以使用地图功能将 MyObject 列表转换为地图列表:
val list = List( MyObject(id, name, status), ..., MyObject(id, name, status) )
val result = list map {o => Map("key" -> o.id)}
来自twitter的scala school对于初学者来说是一本很好的阅读,如果您想详细了解Scala集合框架的架构,请参阅scala doc
答案 1 :(得分:0)
我认为应该这样做。
list map { x => Map( "key" -> x.id ) }
一个例子
scala> case class Tst (fieldOne : String, fieldTwo : String)
defined class Tst
scala> val list = List(Tst("x", "y"), Tst("z", "a"))
list: List[Tst] = List(Tst(x,y), Tst(z,a))
list map { x => Map( "key" -> x.fieldOne ) }
res6: List[scala.collection.immutable.Map[String,String]] = List(Map(key -> y), Map(key -> a))