gpt4 book ai didi

java - 为什么 HashSet 对 getExactSizeIfKnown 返回 -1

转载 作者:行者123 更新时间:2023-12-02 01:33:03 25 4
gpt4 key购买 nike

我试图了解 SplitIterator 的功能并发现以下内容:

public static void main(String[] args) {
Set<Integer> l = new HashSet();
l.add(1);
l.add(2);
l.add(3);
Spliterator<Integer> s= (Spliterator<Integer>) l.spliterator();
Spliterator<Integer> s1=s.trySplit();
while(s1.tryAdvance(n -> {System.out.print(n+" ");System.out.println("estimateSize "+s.estimateSize()+" getexactsizeifknown "+s.getExactSizeIfKnown());}));

为什么该方法getexactsizeifknown返回-1对于 HashSet

对于其他集合,它返回与 estimateSIze() 相同的输出

最佳答案

The Javadoc描述原因:

Convenience method that returns estimateSize() if this Spliterator is SIZED, else -1.

所以,你的 spliterator 大小不合适。

关于java - 为什么 HashSet 对 getExactSizeIfKnown 返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55747554/

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