Binarysearch unsortiertes Array

Hoffentlich kennt jemand die Antwort auf diese Java-Zertifizierungsfrage:

public static void main(String[] args) {
 String[] sa = {"d", "c", "a", "b" };
 int x = Arrays.binarySearch(sa, "b");
 Arrays.sort(sa);
 int y = Arrays.binarySearch(sa, "b");
 System.out.println(x + " " + y);
}

Welche zwei Ergebnisse sind möglich? (Wähle zwei.)
A) 7 0
B) 7 1
C) 7 3
D) -1 0
E) -1 1
F) -1 3

Die einzig wahre Antwort ist E) -1 1, denn wenn Sie den Binärsuchalgorithmus durchspielen, ist dies die einzig mögliche Ausgabe. Aber sie wollen, dass ich zwei wähle ... Also muss die zweite B) 7 1 sein, weil die zweite binäre Suche im sortierten Array immer zurückkehrt1.

Meine Frage ist also, warum ist B) 7 1 ein mögliches Ergebnis? Genauer gesagt: Wie ist es möglich, dass die erste binäre Suche im unsortierten Array 7 zurückgibt?

Danke im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage