Arrays

4 respostas
B

Tenho um array de uma dimensão com vários números exemplo
5 4 3 2 1
e preciso ordená-lo em ordem crescente
1 2 3 4 5
tem algum método que faz isso na api do java?

Obrigado

4 Respostas

M

pq tu não usa alguma classe de Collection q ja faça isso pra ti automático?

B

como funciona esta classe?

J
essa classe tem um metodo estatico sort, que faz a ordenacao. a coisa chata é que o metodo recebe uma lista(Vector..) pra ordenar(e nao um array), e a outra é que voce precisa fazer umz classe(pode ate ser uma innerclass) que implementa Comparator, mas pra um int isso é bem simples
class Compara implements Comparator {
      public int compare(Object o1, Object o2) {
             int s1 = ((Integer) o1).intValue();
             int s2 = ((Integer) o2).intValue();

             int retorno = 0;
             if(s1 > s2)
               retorno = 1;
             else if(s1 < s2)
               retorno = -1;
             
             return retorno;
      }
}
, depois você faz:
Collections.sort(vector, new Compara());
onde vector deve conter so inteiros(os elementos que você quer ordenar).

espero ter ajudado

B

Valeu cara muit obrigado

Criado 6 de abril de 2005
Ultima resposta 7 de abr. de 2005
Respostas 4
Participantes 3