我有一个java.lang.Iterable懒洋洋地计算其价值的东西.我从Scala访问它.是否存在仅返回不同值的核心API方式?例如,成像有一个过滤方法,也提供了迄今为止返回的所有结果:
val myLazyDistinctIterable = iterable.filter((previousReturnedItems, newItem) => previousReturnedItems.contains(newItem))
Run Code Online (Sandbox Code Playgroud)
我想这不是一般情况,因为它涉及存储以前返回的项目,这可能就是它不在核心API中的原因.
我知道List.distinct和Sets但是我想要的东西在被问到之前不会计算它的元素.