gpt4 book ai didi

java treeset 抛出 illegalArgumentException : key out of range

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:40 24 4
gpt4 key购买 nike

我已经精简了代码来重现一个抛出错误的例子:

public class Test {
public static void main(String[] args) {
NavigableSet<String> set = new TreeSet<String>(
Arrays.asList("a", "b", "c", "d"));
NavigableSet<String> set2 = new TreeSet<String>();
set2 = set.tailSet("c", false);
set2.addAll(set.headSet("b", true));
System.out.println(set2);
}
}

代码的目的是在检索集合的子集时实现某种翻转。例如。在上面的例子中,我想要从 c [exclusive] 到 b [inclusive] 的所有元素。我注意到,如果我注释掉 tailSet() 或 headSet() 行,其余代码运行良好。但是,当我有两条线时,我得到

java.lang.IllegalArgumentException: key out of range

最佳答案

尝试这样的事情:

  public static void main(String[] args) {
NavigableSet<String> set = new TreeSet<String>(
Arrays.asList("a", "b", "c", "d"));
NavigableSet<String> set2 = new TreeSet<String>();
set2.addAll(set.tailSet("c", false));
set2.addAll(set.headSet("b", true));
System.out.println(set2);
}

当你做的时候

set2 = set.tailSet("c", false);

您实际上失去了对您创建的新 TreeSet 的引用,并获得了 set.tailSet 返回的 SortedSet

关于java treeset 抛出 illegalArgumentException : key out of range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11011939/

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