确实很难仅从文档中得出明确的声明。如果我们尝试从“减少”过程的一般描述和文档的类似提示中得出结论,总会觉得我们可能在做过多的解释。
然而,有一个关于这个问题的明确声明来自布赖恩戈茨谁是相当关于流API的权威:
如果流是有序的(例如从数组或List获得的流),则在有多个最大元素的情况下,它返回最大的 第一个 元素;否则,返回第 一个
元素。仅当流无序时才允许选择任意元素。
遗憾的是,这样的显式声明未在的文档中做出
Stream.max,但至少符合我们对实现的经验和知识我们中的那些研究源代码的人。别忘了实际的考虑,因为
unordered().max(comparator)
如果
max允许首先选择一个任意元素,那么很容易说出“先选择而不是先”而不是“先选择而不是先选” 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)