gpt4 book ai didi

java - Spliterator - 大小旗帜与小型旗帜

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:50:14 25 4
gpt4 key购买 nike

https://docs.oracle.com/javase/8/docs/api/java/util/Spliterator.html

SIZED Characteristic value signifying that the value returned from estimateSize() prior to traversal or splitting represents a finite size that, in the absence of structural source modification, represents an exact count of the number of elements that would be encountered by a complete traversal.

SUBSIZED Characteristic value signifying that all Spliterators resulting from trySplit() will be both SIZED and SUBSIZED.

  1. 是否存在 SIZED 标志打开但 SUBSIZED 标志关闭的情况?
  2. 是否存在 SUBSIZED 标志打开但 SIZED 标志关闭的情况?

最佳答案

SIZED 但不是 SUBSIZEDSpliterator 的典型示例是从 HashMap 。它将在其内部条目数组上保持一个范围,其中一些数组条目为 null,因为容量高于实际大小。要跳过的 null 条目的确切分布取决于包含的键的哈希码。

因此 Spliterator 一开始确实知道它的(总)大小,但是在拆分范围时,它不知道每个范围中有多少个元素。 HashMap 拥有的元素越多,大致平衡拆分的可能性就越高,因此该策略是合理的,但确切的子大小未知,需要对数组进行迭代才能找出。

报告没有 SIZEDSUBSIZED 特征是没有意义的,据我所知,甚至是无效的。

关于java - Spliterator - 大小旗帜与小型旗帜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44332358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com