为什么我的 takeWhile 无法与我的 Stream 一起工作的问题清楚地表明这takeWhile()
是懒惰的:
Stream.from(1).takeWhile(_ < 5) //Stream(1, ?)
但是对于这个问题,解决方案似乎是人们可以toList
根据需要使用它来强制评估。但是,如果您想要的不是列表或特定值,而是 continueStream
怎么办?
似乎我可以通过强制评估来做到这一点,直到找到所需的值,然后Stream
再次实例化并使用index
,但肯定有更好的方法吗?
更新:显然我的措辞令人困惑;我想要提供的解决方案dropWhile
。