gpt4 book ai didi

java - 处理降序集时的 headSet()/tailSet() 问题

转载 作者:行者123 更新时间:2023-11-29 06:08:18 24 4
gpt4 key购买 nike

我有以下代码片段:

class Cert {
public static void main(String[] args) throws IOException {
NavigableSet<Integer> navigableSet = new TreeSet<Integer>();
List a = new ArrayList<Integer>();
a.add(1);
a.add(2);
a.add(-1);
navigableSet.addAll(a);
Iterator< Integer> iterator = navigableSet.descendingSet().headSet(1).iterator();
while (iterator.hasNext())
{
System.out.print(iterator.next() + " ");
}
}

此代码返回“2”。但这是 headSet 的官方 javadoc (Java 6) 所说的:

SortedSet headSet(E toElement) Returns a view of the portion of this set whose elements are strictly less than toElement. The returned set is backed by this set, so changes in the returned set are reflected in this set, and vice-versa. The returned set supports all optional set operations that this set supports.

根据上面的内容,程序应该只打印“-1”。 javadoc 是否忘记了降序?

提前致谢

最佳答案

如果您引用的 javadoc 片段指的是一般比较而不是明确地说小于,它会更精确。 descendingSet() 的文档中描述了这种情况:

The returned set has an ordering equivalent to Collections.reverseOrder(comparator()).

关于java - 处理降序集时的 headSet()/tailSet() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7859668/

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