我有類型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. 如何將List(String,String)轉換爲ListMap [String,String]?
- 3. 將Scala中的List [String,String]變爲List [String,List [String]]?
- 4. Post Map <String,List <String>>
- 5. 如何將List [String]轉換爲List [ServerAddress]?
- 6. For-Each Loop,Map <String,Map <String,List <String> >>
- 7. List <Map <String,String >> vs List <Object>
- 8. 如何將List <Map <String,Long>轉換成TreeMap或Map?
- 9. Java8在Map <Object,String>中轉換[List <Object>,String]
- 10. 如何將Excel文件讀入List <Map <String,String >>
- 11. Haskell string to list
- 12. python string list to list ast.listeral_eval
- 13. 如何將List轉換爲java.util.ArrayList [String]
- 14. 如何從List [Map [String,String]]中提取值?
- 15. Sort Map <String,List <Object[]>>
- 16. c#string [] to jquery string list?
- 17. 如何將RDD [List [String]]轉換爲RDD [String]
- 18. 如何將List <NameValuePair>轉換爲hashMap <String,String>?
- 19. 將Map [String,Double]轉換爲java.util.Map [String,java.lang.Double]
- 20. 如何將List [java.util.Map]轉換爲List [Map]
- 21. python string to list
- 22. int * string list fsharp
- 23. 在primefaces數據表中遍歷List <Map <String,String >>?
- 24. 反序列化List <Map <String,String >> QueryParam in Jersey 1
- 25. 遍歷Java中的List <Map <String,String >>
- 26. 如何使用JSTL迭代Map <String,List> map = new HashMap <String,List>()在jsp頁面中使用JSTL
- 27. 將List <ApplicationInfo>轉換爲String []
- 28. 將緩存的Map <String,List>對象複製到臨時的Map <String,List>對象中
- 29. 轉換List <HashMap <String,String >>到列表<map <String,String >> java
- 30. vb.net無法將Dictionary(Of String,List(Of String))轉換爲Object
如果你從「地圖」的方法這個結果,只是用「flatMap」 – viktortnk 2012-07-27 16:52:32