Ho messo a nudo giù il codice per riprodurre un esempio che genera l'errore:java TreeSet gettando IllegalArgumentException: chiave fuori portata
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);
}
}
L'obiettivo del codice è quello di attuare una sorta di ribaltamento durante il recupero di sottoinsiemi del set. Per esempio. nel caso precedente, voglio tutti gli elementi da c [esclusivo] a b [incluso]. Ho notato che se commento le linee tailSet() o headSet(), il resto del codice funziona bene. Tuttavia, quando ho entrambe le linee, ottengo
java.lang.IllegalArgumentException: key out of range
Forse si potrebbe iterare su di esso e farlo manualmente? – sp00m
+1 per un buon [SSCCE] (http://sscce.org/) – adarshr