Strings em ordem alfabética

Como posso criar um progrma que ordene strings em ordem alfabética e números em crescente e decrescente.

Voce deseja criar um programa seu, com algoritmo proprio?

Em Java já existe a classe Collator que realiza a ordenação de String em ordem alfabetica inclusive desconciderando os acentos. Caso deseje seguir este ideia, procura que aqui no GUJ já deve ter algum exemplo pratico.

Caso contrario poderia captura cada caracter e analisa-lo um a um.

Att…

[color=red]PARA ESSE CÓDIGO FUNCIONAR VOCÊ VAI TER QUE COLOCAR LOGO ABAIXO DO PACKAGE ISSO>[/color]import java.util.Arrays;

AQUI UM EXEMPLO DE ORDENAÇÃO DE NOMES QUE NO CASO SÃO STRINGS :? É ÓBVIO

[code]String vetor[] = new String[9];

   vetor[0] = "Thiago";
   vetor[1] = "Lucas";
   vetor[2] = "Joao";
   vetor[3] = "Marcos";
   vetor[4] = "Maria";
   vetor[5] = "José";
   vetor[6] = "Carol";
   vetor[7] = "Ariane";
   vetor[8] = "Zander";


   //com o .sort você ordena o vetor
   Arrays.sort(vetor);

   //Impressão
    System.out.print ("O nomes em ordem alfabética são ");
   for (int i = 0 ; i<vetor.length;i++)
   {
    

             System.out.print (vetor[i]+", ");
               

   }
  [/code]

AQUI UM EXEMPLO DE ORDENAÇÃO DE NÚMEROS QUE NO CASO SÃO FLOATS :?

[code] float aux[] = new float[10];

     aux[0] = 1;
     aux[1] =10;
     aux[2] =9;
     aux[3] =4;
     aux[4] =6;
     aux[5]= 7;
     aux[6]=5;
     aux[7]=3;
     aux[8]=2;
     aux[9]=8;

     Arrays.sort(aux);
   
     for (int aux2=0 ; aux2><aux.length ; aux2++){
         
         
              
                                               
               System.out.print (aux[aux2]+", ");
              

   }[/code]

[color=red]SE VOCÊ QUISER COLOCAR EM ORDEM DECRESCENTE É SÓ VOCÊ INICIALIZAR A VAR aux2 COM 10 E IR DIMINUINDO ELA[/color]

Mais existe um problema neste metodo sort,acredito, pois caso as Strings possuam acento elas são consideradas como caracteres diferentes.

Tente passar um Comparable pra o metodo sort e a classe que implementa Compareble, faça a comparação como Collator, pois a implementação do comparaTo da classe String considera como caracteres diferentes: Erika e Érika,mesmo tendo, de forma ordenada no alfabeto BRASILEIRO, considera-las como sendo o mesmo caracter, ou seja ele não verifica o caracter acentuado.

O que ele quis dizer é para mudar essa linha:

Arrays.sort(vetor);

Para essa:

Arrays.sort(vetor, Collator.getInstance());

Assim a ordenação respeitará os acentos e aparecerá como seria num dicionário brasileiro.