Collections

7 respostas
F

Que metodo eu uso para popular uma Collection?? Eu teria que Instanciar essa Collection??

7 Respostas

esb

Método add

Você pode fazer assim:

Collection lista = new ArrayList();
lista.add("Bla1"); 
lista.add("Bla2");

[]s
Eduardo

F

Ok, valwe kra, brigadao…

F

Quando vou imprimir esta lista em um metodo main, estou utilizando o recurso do iterator. Mas nao estou conseguindo imprimir os objetos que estao carregados em minha lista, soh consigo imprimir os indereços de memoria dos mesmos.

Codigo Utilizado:

Iterator it = minhaCollection.iterator();

while( i.hasNext() )

out.println(it.next() );

Como faço para imprimir os objetos corretamente???

JaneT

Qual é o tipo dos objetos que estão na lista?

Deve estar faltando fazer o cast deles…

F

Eu criei uma classe ClienteTO, que seria minha classe que fica os getters e setters, ai criei uma DAO, uma Service e uma classe teste que eh onde contem o metodo Main.

A main acessa a Service, que acessa a DAO, que conecta no banco e cria uma Collection de objetos do tipo ClienteTO, a DAO retorna essa Collection para a Service que por sua vez retorna a Collection para a Main. Estou tentando imprimir a Collection utilizando o Iterator, mas esta vindo todos os campos como null…

Não sei utilizar o Iterator direito, estou comesando a mexer com ele agora, por isso estou achando que eh nele que esta o erro…

Collection lista = new ArrayList();
Iterator it = null;

lista = service.consultarTodos();

it = lista.iterator();

ClienteTO to = (ClienteTO)lista;
while (it.hasNext()) {
		System.out.println(to.getCodigoCliente());
		it.next();
	}
T

Aham, a sua lista é uma lista de ClienteTO? Se for, então o seu código original dá um ClassCastException na linha 5 acima. Provavelmente o que você deve fazer é:

Collection lista;
Iterator it;
ClienteTO to;

lista = service.consultarTodos();
it = lista.iterator();

while (it.hasNext()) {
    to = (ClienteTo) it.next(); 
    System.out.println(to.getCodigoCliente());
}

O mesmo código pode ser reescrito como:

for (Iterator it = service.consultarTodos().iterator(); it.hasNext(); ) {
    ClienteTo to = (ClienteTo) it.next(); 
    System.out.println(to.getCodigoCliente());
}
F

valew thingol, implementei com o for e o while e deu certo com os dois…

Abração, obrigado

Criado 3 de agosto de 2006
Ultima resposta 4 de ago. de 2006
Respostas 7
Participantes 4