当前位置: 首页 > 面试题库 >

java.util.stream.Streamable发生了什么?

燕靖
2023-03-14
问题内容

早期jdk8-ea的javadoc
这样表示有一个java.util.stream.Streamable接口,它似乎有一个同样的关系Stream作为Iterable必须的Iterator

现在看来,我们固守在Supplier<Stream>,这肯定是不一样的。

发生了什么事Streamable


问题答案:

它已被删除前一段时间。布赖恩·格茨(Brian
Goetz)提出了撤职的理由:

当前,唯一的实现者是Collection,所有其他支持流的方法都使用一种比“
stream”更合适的方法名称来提供特殊的流(chars(),codePoints(),lines()等)。因此,我认为我们应该删除Streamable并将stream()/
parallel()方法保留在Collection上(或者可能将它们移至Iterable上)。

还有:

我开始认为Streamable没有发挥作用。我想考虑删除Streamable,这时parallel()的最基本实现在Collection中,并且我还建议我们考虑将其重命名为parallelStream()。

在另一篇文章中,他补充说:

如果所有可迭代的东西都有效地是可流式的(因为Iterable具有stream()方法),而所有可串流的东西都是有效地可迭代式(因为您可以将一个Spliterator变成一个Iterator),那么它们不是同一抽象吗?



 类似资料:
  • 问题内容: 假设我有一个实例: 然后,我使用ExecutorService提交上述任务: 现在,我可以通过取消任务。我了解的是将会中断正在运行此任务的工作线程,例如。但这 仅设置一个标志 来告知工作线程已中断。 我的问题是:如果Runnable已开始运行,实际上如何在继续执行其余代码时停止我的代码?是否在下面定期检查工作线程的中断标志?我的意思是我不明白如何仅通过将中断标志设置为true来取消ru

  • 问题内容: 它是在beta中,但不是在发布中? 问题答案: 对于后备甚至更好的是:

  • 问题内容: 我很惊讶 评估为。 这段代码中发生了什么?真正和语句在做什么? 问题答案: 是一个特殊运算符,它等效于。 如果a和b绑定到同一对象,则运算符返回True,否则返回False。当创建两个空列表时,您将获得两个不同的对象,因此返回False(因此返回True)。

  • 问题内容: 你们中的许多人都已经看到了流行的AJAX框架(Dojo,jQuery,YUI)的Google趋势图。 该图似乎清楚地表明,对Dojo的兴趣在2008年第二季度下降了,下降了80%。jQuery弥补了这一懈怠,最终增长到Dojo的三倍以上。 为什么?在2008年第二季度发生了什么,这消除了对Dojo的兴趣? (请注意,我对Dojo与jQuery?”)的比较并不十分感兴趣;即使您可以解释为

  • 问题内容: 我一直在我的项目中使用它,而在JDK 6u17中我对此没有任何问题。现在,我刚刚更新为6u18,我发现它已被替换为。但是,如果导入此类并尝试编译我的类,则会收到错误消息: 我可以通过NetBeans代码完成功能访问此程序包,而NetBeans不会突出显示错误代码。 任何帮助,将不胜感激! 问题答案: 我不认为该类可以替代,该类已经存在很长时间了,根本 就不适合您使用 (因此包装)。 这

  • 问题内容: 我一直在尝试React Hooks,它们似乎确实简化了诸如存储状态之类的事情。但是,他们似乎通过魔术来做很多事情,而我找不到关于它们实际工作方式的好文章。 看起来很神奇的第一件事是,每次调用setXXX方法时,调用诸如useState()之类的函数如何导致功能组件的重新渲染? 当功能组件甚至没有能力在Mount / Unmount上运行代码时,诸如useEffect()之类的东西如何伪