Bom dia,
Meu problema é um tanto complicado, tenho uma List com endereços, e tenho um metodo que recebe essa list, calcula a distancia de um endereço fixo até todos os endereços que vieram da list e me retorna uma outra list contendo a distancia em km para estes endereços, tendo estas duas lists eu monto a minha interface para o usuario mostrando o endereço e a distancia fazendo a iteração das lists na mesma ordem, sendo assim, estou embutindo o valor de duas lists no front do meu projeto. Porem eu precisaria ordenar estes resultados do mais proximo para o mais distante, só que como tenho duas lists, isso não é possivel, o q eu tenho que fazer é achar uma forma de embutir a km na list que contem os endereços, transformando tudo em uma unica List e após isso ordenar esses valores pela distancia e só ae enviar a list completa, ordenada e prontinha para o front só iterar e exibir. sera q alquem consegue me ajudar, nao sei como inserir os valores em uma lista ja previamente preenchida e tmb nao sei como ordenar uma list.
Sobre a ordenação podes fazer assim:
[code]
private static void ordenaPorNome(List<Lista> lista) {
Collections.sort(lista, new Comparator<Lista>() {
@Override
public int compare(Lista o1, Lista o2) {
return o1.getNome().compareTo(o2.getNome());
}
});
} [/code]
Já sobre a questão de inserção de valores de uma lista na outra. Caso sejam do mesmo tipo, podes simplesmente colocar um lista1.addAll(lista2);
Caso não sejam do mesmo tipo e tenha atributos que você quer e outros não.
Podes fazer um foreach, tipo:
[code]for (Tipo2 tipo2 : lista2){
//Aqui faz sua lógica para add os atributos que você deseja.
}[/code]
Muito obrigado, a solução do collections.sort era exatamente o q eu precisava, quanto a unir as lists eu acabei resolvendo de outra forma, como estou usando hibernate eu fiz uma entity de acordo com o q eu precisava e setei o atributo km como default 0 ae apos isso eu faço o calculo da km e seto este mesmo atributo com um setValor() na minha list, pq ela é uma list de uma entidade e fica bem facil setar durante a iteração da lista e após isso ordeno, e agora tudo esta funcionando. Mais uma vez muito obrigado
Massa, qualquer coisa estamos ai!