Duvida com arrays

Eu quero buscar dados em um array. Eu sei que deve ser algo em java.util.array, mas não sei como. Por exemplo:

int valores[] = {5,7,9};

Quero conferir se no array valores tem o valor 8, por exemplo. Como faço? Obs: Quero fazer isso com todos os tipos de array, não só com int.

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:

[code]int[] array = { 4, 6, 3, 2, 5, 6, 8, 9, 1, 10, 44, 3, -1, 4, 8};
// ordena o array
Arrays.sort( array );

// buscando pela posição com valor 8 no array (se houver duplicatas, vai retornar o primeiro encontrado)
int indice = 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” );
}[/code]

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.

Olhe os seguintes links do Javadoc:
http://java.sun.com/javase/6/docs/api/java/util/Arrays.html
http://java.sun.com/javase/6/docs/api/java/lang/Comparable.html
http://java.sun.com/javase/6/docs/api/java/util/Comparator.html

[]'s

E como eu faria para fazer busca em strings?