Pessoal, preciso da ajuda de vocês, acredito que seja algo basico, mas enfim… não sei fazer.
seguinte. tenho uma bean, dentro dele há dois atributos, id e valor.
quero fazer o seguinte.
vou ter duas listas do mesmo tipo.
quero comparar as listas e aonde lista1 tiver o mesmo id da lista 2, o valor da lista2 deve ir pra lista um
fiz isso usando for… para percorrer as listas, achei meio boquetagem… tem uma maneira mais inteligente de se fazer isso?
boquetagem:
[code]public void lista(){
List lista1 = new ArrayList();
for (int i = 0; i < 10; i++) {
DADOS dados= new DADOS();
dados.setId(i+"");
dados.setValor(“Primeira Lista numero “+i);
lista1.add(dados);
}
List lista2 = new ArrayList();
for (int i = 0; i < 10; i++) {
DADOS dados= new DADOS();
dados.setId(i+””);
dados.setValor("Segunda Lista numero "+i);
lista2.add(dados);
}
//Percorre Lista 1
for (int x = 0; x < lista.size(); x++) {
//Percorre Lista 2
for (int i = 0; i < lista2.size(); i++) {
//Verifica se o item da lista um é igual a lista 2
if (lista1.get(x).getId().equalsIgnoreCase(lista2.get(i).getId())){
//Aqui Atribui o valor da lista 2 na lista1
lista1.set(x, lista2.get(i));
x++;
}
}
}
//So pra imprimir mesmo
for (int i = 0; i < lista1.size(); i++) {
System.out.println(lista.get(i).getValor());
}
}[/code]