Ricerca binaria in Java con binarySearch
In un vecchio articolo abbiamo visto come fare una ricerca binaria in Java.
Ma ho scoperto giusto l'altro giorno che esiste un metodo che lo fa per noi: Arrays.binarySearch!
In questo articolo vediamo come usarlo.
Facciamo un esempio:
package org.example;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {2, 69, 30, 103, 56};
Arrays.sort(arr);
System.out.println(Arrays.binarySearch(arr, 20));
System.out.println(Arrays.binarySearch(arr, 56));
System.out.println(Arrays.binarySearch(arr, 2));
}
}
Prima facciamo il sorting dell'array, e poi facciamo la ricerca.
Ovviamente possiamo farlo anche con le stringhe:
package org.example;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] arr = {"a", "f", "z", "r", "y"};
Arrays.sort(arr);
System.out.println(Arrays.binarySearch(arr, "w"));
System.out.println(Arrays.binarySearch(arr, "z"));
System.out.println(Arrays.binarySearch(arr, "a"));
}
}
Enjoy!
java binarysearch
Commentami!