terça-feira, 2 de dezembro de 2008

JAVA: Arrays Primitivos e a classe java.util.Arrays

A classe java.util.Arrays do Java versão 1.5 (Tiger), possui uma série de métodos estáticos para trabalhar com vetores unidimensionais e matrizes.

Nesse caso, mostrarei operações básicas sobre vetores unidimensionais, tais como exibir um vetor em tela, ordenar, comparar e buscar dados em um vetor utilizando a java.util.Arrays.

Nesse exemplo mostra como utilizar as funcionalidades da classe java.util.Arrays:

ArrayExamples.java

import java.util.Arrays;

public class ArrayExamples {

public static void main(String[] args) {

int arr1[] = {23,2,89,123,21,12,17,13,56,90,218,0};
int arr2[] = {23,2,89,123,21,12,17,13,56,90,218,0};
int arr3[] = {0,3,9,23,1,45,10,21,56,90,218,33};

String arrFrutas[] = {"maça", "banana", "abacate", "laranja", "manga"};

//converter array para string e exibir no console
System.out.println("array1: " + Arrays.toString(arr1));
System.out.println("array2: " + Arrays.toString(arr2));
System.out.println("array3: " + Arrays.toString(arr3));

//comparação entre arrays
System.out.println("arrays arr1 e arr2 são iguais? " +Arrays.equals(arr1, arr2));
System.out.println("arrays arr2 arr3 são iguais? " +Arrays.equals(arr3, arr2));

//ordenar array primitivo
Arrays.sort(arrFrutas);
System.out.println("arrFrutas ordenado:" + Arrays.toString(arrFrutas));

//busca binária em array primitivo
System.out.println("lanranja encontrada no índice: " + Arrays.binarySearch(arrFrutas, "laranja"));

}
}

Na classe ArrayExamples.java primeiramente, foram declarados 4 vetores, sendo 3 de valores primitivos do tipo inteiro (int) e 1 do tipo cadeia de caracteres (String).

Para exibir o array no console sem a necessidade de fazer um laço de repetição para isso foi utilizado o método Arrays.toString(). Para comparar 2 arrays foi utlizado o método Arrays.equals(). Na ordenação do array o método Arrays.sort() foi utilizado. Já para efetuar uma busca binária no array em questão, utilizou-se o método Arrays.binarySearch() que retorna o índice do valor procurado no vetor.

Resultado da execução do programa:

array1: [23, 2, 89, 123, 21, 12, 17, 13, 56, 90, 218, 0]
array2: [23, 2, 89, 123, 21, 12, 17, 13, 56, 90, 218, 0]
array3: [0, 3, 9, 23, 1, 45, 10, 21, 56, 90, 218, 33]
arrays arr1 e arr2 são iguais? true
arrays arr2 arr3 são iguais? false
arrFrutas ordenado:[abacate, banana, laranja, manga, maça]
lanranja encontrada no índice: 2



Muitos códigos podem ser optimizados utilizando essa classe uma vez que algoritmos de busca, ordenação e comparação já estão implementados.

Nenhum comentário: