Jump to content
Sign in to follow this  
Ekate

[Resolvido] Ordenar por ordem decrescente

Recommended Posts

Ekate

Boas

Tenho uma duvida em que quero ordenar elementos que são inseridos, e à medida que são inseridos quero que sejam comparados e ordenados por ordem decrescente. Tenho este codigo mas nao esta a ordenar de forma alguma, alguma sugestão?

for (int i = 0; i < size; i++) {
           if((adaptee.get(i)).compareTo(elemento) > 0){
               adaptee.set(i, adaptee.get(i + 1));
               if(adaptee.get(0) == adaptee.get(size)){
                   break;
               }
           }
       }

Share this post


Link to post
Share on other sites
HappyHippyHippo

se a tua classe estiver implementado o interface Comparable:

java.util.Collections.sort(adaptee);

caso contrário:

java.util.Collections.sort(adaptee, new Comparator<NomeDaClasse> () {
 int compare(NomeDaClasse o1, NomeDaClasse o2) {
   // código de comparação ...
 }
});


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Ekate

nao podemos usar coleções.. O projeto que estou a fazer é sobre a classe PriorityQueue Adapter (sem usar o java.util) em que usamos a classe ArrayList e portanto so podemos usar os metodos da classe ArrayList :confused:

Share this post


Link to post
Share on other sites
HappyHippyHippo

http://en.wikipedia.org/wiki/Selection_sort

for (int i = 0; i < adaptee.size(); i++) {
 for (int j = i + 1, int min = i; j < adaptee.size(); j++) {
   if (adaptee.get(j).compareTo(adaptee.get(min) < 0) {
     min = j;
   }
 }

 if (min != i) {
   NomeDaClass aux = adaptee.get(min);
   adaptee.set(min, adaptee.get(i));
   adaptee.set(i, aux);
 }
}


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Ekate

realmente... lembrava-me das coleções mas nao me ocorreu ver como funciona e assim usar.. Mas obrigada pela dica e a ajuda ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.