mam okrojona kod odtworzyć przykład, który zgłasza błąd:java TreeSet rzucanie IllegalArgumentException: klucz z zakresu
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);
}
}
Celem kodeksu jest wdrożenie jakiegoś najazdu przy pobieraniu podzbiory zestawu. Na przykład. w powyższym przypadku chcę, aby wszystkie elementy od c [exclusive] do b [włącznie]. Zauważyłem, że jeśli skomentuję linie tailSet() lub headSet(), reszta kodu działa dobrze. Jednak kiedy mam obie linie, mam
java.lang.IllegalArgumentException: key out of range
Może możesz iterować na nim i robić to ręcznie? – sp00m
+1 za dobry [SSCCE] (http://sscce.org/) – adarshr