我有类型List[List[Map[String,String]]]
的结果,我想将它转换为List[Map[String,String]]
。我如何在Scala中做到这一点?如何将List [List [Map [String,String]]]转换为List [Map [String,String]]
1
A
回答
1
这是帮助我了解如何扁平化的工作。
val a = List(List(Map(11 -> 11), Map(12 -> 12)), List(Map(21 -> 21), Map(21 -> 21)))
def flatten(ls: List[Any]): List[Any] = ls flatMap {
case ms: List[_] => flatten(ms)
case e => List(e)
}
flatten(a)
/** Converts this $coll of traversable collections into
* a $coll in which all element collections are concatenated.
*
* @tparam B the type of the elements of each traversable collection.
* @param asTraversable an implicit conversion which asserts that the element
* type of this $coll is a `Traversable`.
* @return a new $coll resulting from concatenating all element ${coll}s.
* @usecase def flatten[B]: $Coll[B]
*/
def flatten[B](implicit asTraversable: A => /*<:<!!!*/ TraversableOnce[B]): CC[B] = {
val b = genericBuilder[B] // incrementally build
for (xs <- sequential) // iterator for your collection
b ++= asTraversable(xs) // am i traversable ?
b.result // done ... build me
}
+0
这不是如何“真正的”'但是.flatten'工作,:1)这将消除所有嵌套'列表'而不仅仅是一个图层。 b)你应该比返回任何''更好。 c)正确的'.flatten':'ls flatMap {case x => x}' – Debilski 2012-07-30 07:21:20
+0
我从来没有声称这是多么平坦的工作。 – 2012-08-01 06:02:46
8
给出无约束:
list.flatten
相关问题
- 1. 如何将List(List [String])转换为Map [String,Int]?
- 2. Post Map <String,List <String>>
- 3. For-Each Loop,Map <String,Map <String,List <String> >>
- 4. List <Map <String,String >> vs List <Object>
- 5. python string list to list ast.listeral_eval
- 6. 如何将List转换为java.util.ArrayList [String]
- 7. Sort Map <String,List <Object[]>>
- 8. 将Map [String,Double]转换为java.util.Map [String,java.lang.Double]
- 9. int * string list fsharp
- 10. 反序列化List <Map <String,String >> QueryParam in Jersey 1
- 11. 如何使用JSTL迭代Map <String,List> map = new HashMap <String,List>()在jsp页面中使用JSTL
- 12. 转换List <HashMap <String,String >>到列表<map <String,String >> java
- 13. Java 8 Lambda List to Map <Int,List <String>>
- 14. List <Map <String,List <>>> in BaseAdapter,Android
- 15. 从List <Map <String,Object >>创建HashMap <String,Map>给出java.lang.ClassCastException
- 16. List <string> binding
- 17. Haskell int list to String
- 18. 如何将Json字符串转换为List <HashMap <String,String >>?
- 19. 如何将List <Single <String>>转换为列表<String>?
- 20. Scala将Seq [Object]映射为Map [String,Map [String,String]]
- 21. 有没有在protobuf 3中实现map <string,map <string,list <string> >>的方法?
- 22. 如何在实体类中添加Map <String,List <String>>?
- 23. 如何转换List <String[]>至List <int[]>?
- 24. 如何将Map [String,Any]转换为Json?
- 25. 如何将breeze.linalg.DenseMatrix转换为Map [String,Value]?
- 26. 如何使用相同的递归函数迭代Map <String,String>和Map <String,Map <String,String >>?
- 27. 如何将HashMap <String,Integer> param转换为Map <String,Object)
- 28. 如何在Scala中从Map [String,Any]创建一个Map [String,String]?
- 29. 如何将数据表转换为List <long,List <keyvaluepair <string,string >>> in C#
- 30. 将List <Map <String,Object >> row`的null转换为空字符串
如果你从“地图”的方法这个结果,只是用“flatMap” – viktortnk 2012-07-27 16:52:32