Colecciones binarySearch usando ArrayList

Lamento la estúpida pregunta, he estado buscando cómo usar binarysearch con mi ArrayList de esta manera:

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

El problema es cuando uso:

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

el valor de los sumks es siempre -5, pensé que debería ser 2 porque después de invertir myArrList la salida se ve así:

[7, 5, 3, 2]

Entonces, ¿qué debo hacer aquí para obtener los sumks correctos de 7 ...? Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta