Niesortowana tablica Binarysearch

Mam nadzieję, że ktoś zna odpowiedź na to pytanie dotyczące certyfikacji Java:

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);
}

Jakie dwa wyniki są możliwe? (Wybierz dwa.)
A) 7 0
B) 7 1
C) 7 3
D) -1 0
E) -1 1
F) -1 3

Jedyną prawdziwą odpowiedzią jest E) -1 1, ponieważ jeśli grasz przez algorytm wyszukiwania binarnego, jest to jedyne możliwe wyjście. Ale chcą, żebym wybrał dwa ... Więc drugi musi być B) 7 1 wtedy, ponieważ drugi binarSearch w posortowanej tablicy zawsze powróci1.

Więc moje pytanie brzmi: dlaczego B) jest możliwym wynikiem? Bardziej szczegółowe: Jak to możliwe, że pierwszy binarySearch w nieposortowanej tablicy zwraca 7?

Z góry dziękuję

questionAnswers(2)

yourAnswerToTheQuestion