Collection.Sort

Pessoal, estou com um problema, eu tenho uma classe assim:

public class DTO_CentroDistribuicao_ctd{
	
	private double distanciaPedido;
	private int ctd_CentroDistribuicao_int_PK;
	private String ctd_Nome_chr;
	private String ctd_Endereco;
	private String ctd_Numero;
	private String ctd_Complemento;
//get set, get set....
}

Eu faco uma consulta no meu DB e retorno uma List<DTO_CentroDistribuicao_ctd> populada com N posicoes.
Oque eu quero fazer eh ordenar esta lista pela coluna distanciaPedido do tipo Double.
Li a respeito e fiquei sabendo que com o Comparator eh bem facinho. Estou fazendo assim mais esta dando errado:

[code]listCentro.get(i).setDistanciaPedido(application.getDistancia(connection.getInputStream()));

	Collections.sort(listCentro,new Comparator<DTO.DTO_CentroDistribuicao_ctd>(){
		public int compare(DTO.DTO_CentroDistribuicao_ctd o1, DTO.DTO_CentroDistribuicao_ctd o2){
			return o1.getDistanciaPedido().compareTo(o2.getDistanciaPedido());
		}
	});

[/code]
Alguem pode me ajudar??

Obrigado.

Leandro você já tentou orderna usando o ORDER BY no sql? Acho que para ordernar isso é mais facil. Mas vendo o seu código e o que eu entendi, o Collections.sort() já ordena para você.

Entao mano, este atributo do tipo double ele eh o unico que nao vem do DB :/, eu pego um valor e vou em outra aplicacao e pego o resultado e guardo nesta variavel.
Entao eu nao posso fazer o order by pelo sql…vlvv a ajuda.

VLvv

O seu código parece excelente à primeira vista. não fosse o fato de estar comparando double.
Doubles não se comparam assim. Esse é o problema.
Para comparar double ou Double, vc deve usar Double.compare().

O codigo deve ser portanto

Collections.sort(listCentro,new Comparator<DTO.DTO_CentroDistribuicao_ctd>(){
			public int compare(DTO.DTO_CentroDistribuicao_ctd o1, DTO.DTO_CentroDistribuicao_ctd o2){
				return Double.compare(o1.getDistanciaPedido(),o2.getDistanciaPedido());
			}
		});