Ich habe den Code abgespeckte ein Beispiel zu reproduzieren, die den Fehler wirft:java TreeSet werfen Illegal: Schlüssel außer Reichweite
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);
}
}
Ziel des Codes ist eine Art Rollover zu implementieren, wenn Teilmengen abrufen des Satzes. Z.B. im obigen Fall möchte ich alle Elemente von c [exklusiv] bis b [inklusive]. Ich habe festgestellt, dass der Rest des Codes gut funktioniert, wenn ich die tailSet() - oder headSet() - Zeilen auskommentiere. Allerdings, wenn ich beide Linien haben, bekomme ich
java.lang.IllegalArgumentException: key out of range
Vielleicht könnten Sie darauf iterieren und tun es manuell? – sp00m
+1 für eine gute [SSCCE] (http://sscce.org/) – adarshr