如何过滤对象数据?

时间:2013-08-17 09:17:05

标签: scala scala-java-interop

我有以下类型的用户列表:

java.util.List[User] 

用户的类型为:

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

我想过滤成一个字符串列表,其中每个String都是用户的id:java.util.List [String]

我可以迭代List中的每个值,只需选择id并填充新的List。

我可以使用Scala的过滤功能来实现这一目标吗?

1 个答案:

答案 0 :(得分:4)

您必须转换为Scala集合,然后再转换回Java集合:

import collection.JavaConverters._

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

或者,您可以为Java集合编写自己的集合构建器和CanBuildFrom含义,但这显然会更有效。