0

我从 Java API 生成函数,Java 代码看起来像

val iter = dict.getIndexWordIterator(typeWord)

while (iter.hasNext){ 
    val witer = iter.next().getWordIDs() //witer: List[..] else finish
    .. //make common list from all  witer
}

我想为所有这些代码和'for'请求'<-'编写生成器,所以

(for(x <- 1 to 1000000; if iter.hasNext) yield iter.next.getWordIDs).flatten

可以帮助,但它对我来说是丑陋和愚蠢的。是否有可能更聪明地做到这一点?

4

1 回答 1

0
import scala.collection.JavaConversions._ // so we can treat java iterator as scala one
iter.take(1000000).flatMap(_.getWordIDs).toArray // or to something more suitable to you

最后一步是可选的——你可以在一段时间后保持你的集合惰性和严格

于 2013-10-31T20:42:48.713 回答