Coleções binarySearch usando ArrayList

Sinto muito pela pergunta estúpida, tenho pesquisado sobre como usar a pesquisa binária com meu ArrayList como este:

List<Integer> arrList = new ArrayList<Integer>();       
        arrList.add(3); 
        arrList.add(5); 
        arrList.add(7);
        arrList.add(2);

O problema é quando eu uso:

Collections.sort(arrList);
Collections.reverse(arrList);
int indeks = Collections.binarySearch(arrList, 7);

o valor de indeks é sempre -5, pensei que deveria ser 2 porque, depois de reverter myArrList, a saída fica assim:

[7, 5, 3, 2]

Então, o que devo fazer aqui para obter o número certo de 7 ...? desde já, obrigado

questionAnswers(2)

yourAnswerToTheQuestion