2013-08-17 62 views
3

我有一個類型的用戶列表:如何過濾對象數據?

java.util.List[User] 

用戶的類型爲:

case class User(id: String, type : BigInt) 

我要過濾到字符串列表,其中每個字符串是用戶的ID:JAVA。 util.List [String]

我可以迭代列表中的每個值,只需選擇id並填充新的列表。

我可以使用Scala的過濾功能來實現嗎?

回答

4

你必須轉換爲斯卡拉集合,然後回Java集合:

import collection.JavaConverters._ 

val l: java.util.List[User] = ... 
val l2 = l.asScala.map(_.id).asJava 
// l2: java.util.List[java.lang.String] = ... 

或者,您可以編寫自己的收藏建設者和CanBuildFrom implicits針對Java集合,但這顯然是更多的工作。