我从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
可以帮助,但对我来说这是丑陋和愚蠢的。是否可以更聪明地做到这一点?
答案 0 :(得分: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
最后一步是可选的 - 你可以保持你的收藏懒惰,并在一段时间后严格把它