我有類型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