Fajna metodka Javy szukająca elementu w tablicy. Zwraca dodatni wynik w postaci indeksu w którym miejscu występuje podana liczba, wtedy i tylko w tedy jeśli znalazło element.
Bardziej szczegółowe wyjaśnienie - zgodnie z
tym opisem:
byte byteArr[] = {10,20,15,22,35};
char charArr[] = {'g','p','q','c','i'};
int intArr[] = {10,20,15,22,35};
double doubleArr[] = {10.2,15.1,2.2,3.5};
float floatArr[] = {10.2f,15.1f,2.2f,3.5f};
short shortArr[] = {10,20,15,22,35};
Arrays.sort(byteArr);
Arrays.sort(charArr);
Arrays.sort(intArr);
Arrays.sort(doubleArr);
Arrays.sort(floatArr);
Arrays.sort(shortArr);
byte byteKey = 35;
char charKey = 'g';
int intKey = 22;
double doubleKey = 1.5;
float floatKey = 35;
short shortKey = 5;
System.out.println(byteKey + " found at index = "
+Arrays.binarySearch(byteArr,byteKey));
System.out.println(charKey + " found at index = "
+Arrays.binarySearch(charArr,charKey));
System.out.println(intKey + " found at index = "
+Arrays.binarySearch(intArr,intKey));
System.out.println(doubleKey + " found at index = "
+Arrays.binarySearch(doubleArr,doubleKey));
System.out.println(floatKey + " found at index = "
+Arrays.binarySearch(floatArr,floatKey));
System.out.println(shortKey + " found at index = "
+Arrays.binarySearch(shortArr,shortKey));
Wynik tego działania to:
35 found at index = 4
g found at index = 1
22 found at index = 3
1.5 found at index = -1
35.0 found at index = -5
5 found at index = -1
Fajna metodka, tylko jeszcze nie wiem dlaczego zwraca minusowe wartości. Może kiedyś się dowiem :)
Komentarze
Prześlij komentarz