3

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

java.util.List[User] 

用户类型:

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

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

我可以遍历列表中的每个值,然后选择 id 并填充新列表。

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

4

1 回答 1

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] = ...

或者,您可以CanBuildFrom为 Java 集合编写自己的集合构建器和隐式函数,但这显然需要更多的工作。

于 2013-08-17T09:24:12.127 回答