Boa tarde
Observem o código:
public static void main(String... args){
ArrayList a = new ArrayList();
a.add("1");
a.add("2");
a.add("3");
a.add("4");
a.add("5");
a.add("6");
a.add("7");
a.add("8");
Comparator c = Collections.reverseOrder();
Collections.sort(a,c);
for (Object o : a){
String s = (String) o;
System.out.println(s);
}
int result = Collections.binarySearch(a, "6");
System.out.println("result1 : "+result);
int result2 = Collections.binarySearch(a, "6", c);
System.out.println("result2 : "+result2);
}
para imprimir o valor 2, primeiro foi feito uma inversão das posições da lista, depois é feito a procura com binarySearch, porem se eu não utilizar o construtor que manda o comparator, sai valor igual a -9, não tem sentido (pelo menos para mim), mas se mandar o comparator para binarysearch ai encontra.
Eu li o javadoc porem não consegui entender. Alguém pode me explicar por favor?
abraço
