Ordenacao lista

2 respostas
F

Como faço para mudar a ordenacao de uma lista,sem percorrer a lista do inicio ao fim.No exemplo eu mudo a chave de ordenacao percorrendo a colecao do inicio ao fim tbm gostaria de saber como mudar a ordem natural de crescente para decrescente.

public boolean ordenar(String chave) {

TreeMap lista=new TreeMap();

Filme aux=new Filme();

Iterator percorrer=this.getListaFilme().values().iterator();
if(chave.equals("titulo")||
    	  chave.equals("codigo")||
       	  chave.equals("qtdLocacoes"))
        {
	           if(chave.equals("titulo"))
	           {
	            while(percorrer.hasNext())
	            {
	            	aux=(Filme) percorrer.next();
	            	lista.containsKey(aux.getTitulo());
	            	lista.put(aux.getTitulo(),aux);
	            }
	           }
	           if(chave.equals("codigo"))
	           {
	            while(percorrer.hasNext())
	            {
	            	aux=(Filme) percorrer.next();
	            	lista.containsKey(aux.getCodigo());
	            	lista.put(aux.getCodigo(),aux);
	            }
	           }
	           if(chave.equals("qtdLocacoes"))
	           {
	            while(percorrer.hasNext())
	            {
	            	aux=(Filme) percorrer.next();
	            	lista.containsKey(aux.getQtdLocacoes());
	            	lista.put(aux.getQtdLocacoes(),aux);
	            }
	           }
	           this.setListaFilme(lista);
	           return true;
          }
             
		return false;
	}

2 Respostas

Mero_Aprendiz

FabioJJ:
Como faço para mudar a ordenacao de uma lista,sem percorrer a lista do inicio ao fim.No exemplo eu mudo a chave de ordenacao percorrendo a colecao do inicio ao fim tbm gostaria de saber como mudar a ordem natural de crescente para decrescente.

Olá.
Você conhece o Comparator?
http://www.javadeveloper.co.in/java-example/java-comparator-example.html

[]'s
JL

Filipe_Chagas

Como o FabioJJ escreveu, Comparator resolve o seu problema.

Só uma dica: Coloque o seu código entre as tags [code] e [/code]

Criado 2 de abril de 2009
Ultima resposta 2 de abr. de 2009
Respostas 2
Participantes 3