就像几乎所有人一样,我仍然在学习新的Java 8 Streams API的复杂性(并且非常喜欢它们).我有一个关于流的使用的问题.我将提供一个简化的例子.
Java Streams允许我们使用a Collection,并使用stream()它上面的方法来接收所有元素的流.在这,有许多有用的方法,比如filter(),map()和forEach(),这让我们对内容的使用拉姆达操作.
我的代码看起来像这样(简化):
set.stream().filter(item -> item.qualify())
.map(item -> (Qualifier)item).forEach(item -> item.operate());
set.removeIf(item -> item.qualify());
Run Code Online (Sandbox Code Playgroud)
我们的想法是获取集合中所有项目的映射,这些项目匹配某个限定符,然后通过它们进行操作.操作后,它们不再用于其他目的,应从原始组中移除.代码运作良好,但我无法摆脱这样的感觉,即有一个操作Stream可以在一行中为我做这件事.
如果它在Javadocs中,我可能会忽略它.
是否有人更熟悉API会看到类似的东西?