Atualizar um objeto em um List - É assim mesmo?

Colegas,

Um objeto Produtor possui n enderecos.
Pois bem, quando quero atualizar um desses endereços faço como no bloco abaixo.
Funciona, porém eu gostaria de saber se essa é a melhor forma.

Muito obrigado,

Marques

[code]
List enderecos = produtor.getEnderecos();
Endereco endereco = UmaInstanciaDeEnderecoComDadosAtualizados;

		for (Endereco end : enderecos) {
			if (end.getId().intValue() == endereco.getId()) {
				enderecos.remove(end);
				enderecos.add(endereco);
			} 
		}[/code]

Não vejo nada de errado no teu código, mas se quiser, pode sobrescrever os métodos equals e hashCode na classe Endereco para fazer a comparação e tornar o código mais elegante. A comparação ficaria assim:

 if (end.equals(endereco))) {  

g4j

Essa parada de sobrescrever os metodos equals e hashcode: Vc poderia me dar uma dica do conteudo desses metodos?

Tks,

Marques

Pra atualizar um elemento de uma lista, mantendo o local dele, use o método set.

Então amigo, o Eclipse possui um gerador de hashcode() e equals(), basta ultilizar o atalho Ctrl+3 com o focus dentro da sua classe Produtor no caso dai digita “gh” e vai ter la a opçao Generate hashcode and equals, so seleciona-la e falar qual(quais) campo(s) que vai diferenciar um objeto do tipo Produtor do outro.
Dai ele gera automatico.
Se no seu caso for só atualizar de uma pesquisada a respeito da interface Set() pois ela implementa essas funcoes de busca e inserçao bem rapido.