Para fazer uma busca em um array utilizando o método binarySearch da classe java.util.Arrays, você precisa primeiro ordenadar esse array.
Você faria algo do tipo:
int[]array={4,6,3,2,5,6,8,9,1,10,44,3,-1,4,8};//ordenaoarrayArrays.sort(array);//buscandopelaposiçãocomvalor8noarray(sehouverduplicatas,vairetornaroprimeiroencontrado)intindice=Arrays.binarySearch(array,8);if(indice>=0){
System.out.println("O valor 8 foi encontrado na posição "+indice);
}else{
System.out.println("O valor 8 não foi encontrado");
}
Caso o item não seja encontrado, será retornado o valor da posição onde o item seria inserido caso existisse, segundo a fórmula (-(ponto de inserção) - 1)
Tanto o método sort quanto o binarySearch funcionam para todos os tipos primitivos, quanto para objetos que você criar. Entretanto, para usar objetos, você precisa implementar a interface Comparable ou fornecer um Comparator. Se você usar um array de Strings por exemplo, os métodos sort e binarySearch vão funcionar, pq a classe String implementa a interface Comparable.