Saida para não usar o ArrayList ou Vector

Pessoal, tenho a seguinte linha de codigo.

ArrayList listaLogradouro = new ArrayList();
			
while(rs.next()){
	TabelaLogradouro tabelaLogradouro = new TabelaLogradouro();
				
				tabelaLogradouro.setCodigoMunicipioLogradouro(rs.getLong("id_municipio"));
				tabelaLogradouro.setUnidadeFederacao(rs.getString("id_UF"));
				tabelaLogradouro.setCodigoLogradouro(rs.getLong("id_logradouro"));
							tabelaLogradouro.setTituloLogradouro(rs.getString("nm_titulo"));
			
	listaLogradouro.add(tabelaLogradouro);
	tabelaLogradouro = null;
}

esse TabelaLogradouro nada mais é q. um bean, ok…Só q. dessa forma fazendo um new, num processo q. a select vai retornar umas 3.000 linhas fica mto punk …Ai coloquei o new do bean antes do while, entaum o ArrayList guardou a referencia e nao o objeto no estado atual, ou seja, no final o array list contem 3000 objetos com o mesmo estado (contendo as mesmas informaçoes)…

Alguem tem alguma saída???

Obrigado,
Augusto

-criar 3000 objetos
-não usar uma coleção e retornar apenas um iterator que fica modificando seu objeto no next()
-usar proxies pros reais objetos
-repensar em pq trazer 3000 registros se isso é demais

3 mil objetos nao eh mta coisa, e nao eh economizando instancias que vc vai resolver isso - mesmo pq, nao da pra economizar instancias aqui :smiley:

Nao da pra selecionar menos linhas na tabela, ou entao quebrar a pesquisa em pedacinhos, fazendo paginação?