A linguagem Java possui a poderosíssima API Collections, que nos ajuda a trabalhar com listas, e entre outras funcionalidades bastante interessantes, nos permite ordená-las.
Ordenando uma lista Simples
Começaremos com um exemplo básico: Uma lista de nomes, cujos valores são adicionados aleatoriamente;
/**
* Lista de String's contendo nomes
*/
List<String> listaNomes = new ArrayList<String>();
listaNomes.add("Joaquim");
listaNomes.add("Pedro");
listaNomes.add("Ana");
listaNomes.add("Bianca");
listaNomes.add("Maria");
listaNomes.add("João");
/**
* FOR avançado: para cada String dentro de 'listaNomes' associamos a
* variável 'nome' e a exibimos na tela
*
* Exibe lista na ordem de adição
*/
for (String nome : listaNomes) {
System.out.println(nome);
}
A saída obtida ao executarmos este código, é a seguinte: Joaquim Pedro Ana Bianca Maria JoãoUsando o metodo estático sort() de java.util.Collections podemos facilmente ordenar esta lista de nomes. O código abaixo é exatamente igual ao anterior, porem adicionamos a chamada Collections.sort(listaNomes) :
/**
* Lista de String's contendo nomes
*/
List<String> listaNomes = new ArrayList <String>();
listaNomes.add("Joaquim"); listaNomes.add("Pedro"); listaNomes.add("Ana"); listaNomes.add("Bianca"); listaNomes.add("Maria"); listaNomes.add("João"); /** * Chamada ao metodo sort() * Ordena a lista em ordem alfabética; */ Collections.sort(listaNomes); for (String nome : listaNomes) { System.out.println(nome); }
Ordenando um Vetor (Array)
Em JAVA, os vetores (arrays) também podem ser ordenados de forma bem semelhante:
String[] arrayNomes = new String[]{"Joaquim", "Pedro", "Ana", "Bianca", "Maria", "João"};
/**
* Exibe a lista de nomes
* na ordem que está colocada no vetor
*/
for (int i = 0; i < arrayNomes.length; i++) {
System.out.println(arrayNomes[i]);
}
System.out.println("\n");
/**
* Ordena os nomes do vetor
*/
Arrays.sort(arrayNomes);
/**
* Exibe a lista de nomes
* já ordenada
*/
for (int i = 0; i < arrayNomes.length; i++) {
System.out.println(arrayNomes[i]);
}
Nenhum comentário:
Postar um comentário