我有以下类型的用户列表:
java.util.List[User]
用户的类型为:
case class User(id: String, type : BigInt)
我想过滤成一个字符串列表,其中每个String都是用户的id:java.util.List [String]
我可以迭代List中的每个值,只需选择id并填充新的List。
我可以使用Scala的过滤功能来实现这一目标吗?
答案 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
含义,但这显然会更有效。