当前位置: 首页 > 知识库问答 >
问题:

遇到订单集合-最佳实践和示例

晏德佑
2023-03-14

订货

流可能有定义的遭遇顺序,也可能没有。流是否具有遭遇顺序取决于源和中间操作。某些流源(如列表或数组)是内在有序的,而其他流源(如HashSet)则不是。一些中间操作(如sorted())可能会对无序的流施加遭遇顺序,而另一些操作可能会使有序的流无序,如baseStream.unordered()。此外,一些终端操作可能会忽略遭遇顺序,如forEach()。

    null

共有1个答案

竺勇
2023-03-14

除了hashsethashmap的集合视图之外,stream.generate()将生成一个无序流。

不用说,由random生成的流也是无序的。此外,stream.empty()并不报告有遭遇顺序,但这并没有太大的后果…

如果您知道您不需要流来维护遇到顺序,那么使用unordered()是一个很好的做法--即使它没有提高性能,就像当前实现中的大多数操作一样,它也没有坏处,并且会记录您不关心顺序。这不仅适用于并行流,一些操作,如distinct(),甚至在顺序的情况下也可能受益于无序。

在某些情况下,选择正确的终端操作,如findany()而不是findfirst()文档,这样就会更加简洁,并且对性能有更大的影响。

 类似资料:
  • 问题内容: 我想验证集合是否为空和。任何人都可以让我知道最佳做法。 目前,我正在检查以下内容: 问题答案: 如果在项目中使用Apache Commons Collections 库,则可以使用和方法分别检查集合或映射是否为 空 或为 空 (即它们是“空安全的”)。 这些方法背后的代码或多或少是用户@icza在其答案中所写的内容。 无论您做什么,都请记住,随着代码复杂度的降低,编写的代码越少,测试的

  • 这里有些给使用和编写 Ansible playbook 的贴士. 你能在我们的 ansible-example repository.找到展示这些最佳实践的 playbook 样例.(注意: 这些示例用的也许不是最新版的中所有特性,但它们仍旧是极佳的参考.) Topics 最佳实践 接下来的章节将向你展示一种组织 playbook 内容方式. 你对 Ansible 的使用应该符合你的需求而不是我们

  • 处理后台任务与常规调用方法有很大的不同。本指南旨在帮助让您的后台任务平稳有效地运行。本文基于 这篇博客文章。 使任务参数小而简单 方法(任务)在调用之前会被序列化。使用 TypeConverter 类将参数转换为 JSON 字符串。如果您有复杂的实体和 / 或大对象; 包括数组,最好将它们放入数据库,然后只将其标识 (id) 传递给后台任务。 错误例子: public void Method(En

  • VR设计 VR设计不同于平面体验设计。作为一种新的媒介,有新的最佳实践需要遵循,特别是保持用户的舒适性和存在性。这在如下指南中已经写得很透彻了: Oculus VR最佳实践 Leap Motion VR最佳实践指南 一些值得注意的事情: 公共的金科玉律是永远不要意外地把相机控制权从用户手中剥夺。 单位(比如对于位置)应该考虑使用米(m)。这是因为WebVR API以米为单位返回姿势数据,进而传送给

  • 本章文档将阐述一些使用herosphp开发一些常用模块的一些比较好的实践。 未完待续。。。

  • 适当的使用vuex 能不用就不用。 能用就用。 不要为了使用而使用,一个小方法里面有5个设计模式。 不要过度使用CSS框架 因为CSS框架一般会大幅度增加文件体积。 例如 bootstrap, ele.me前端框架。 这个在低端安卓机上影响显著。 使用CDN来存放js, css, 和图片文件。 灵活使用第三方Vue 插件 例如: 轮播图, 表单验证等等。这些轮子都是现成的。 前端逻辑务必简单 能在