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;
}