Iterator em um bean

3 respostas
S

Olá
Pessoal

Tenho um bean chamado ListaClienteVO e gostaria de ler todos os registro que comtem nele atravez de um iterator. ou até mesmo atraves de um FOR.

Alguem tem algum exemplo?

Grato

3 Respostas

lcegatti
Iterator iterator = listaClienteVO.iterator();
wile(iterator.hasNext()) {
   ClienteVO cliente = (ClienteVO) iterator.next();
   //TODO
}

[]'s

T

Vc quer fazer um loop em uma lista que contem objetos bean ?

se sim , se vc criou a lista desta forma List ListaClienteVO = new ArrayList();

faz um loop assim

for(meuBean Bean :ListaClienteVO ){

meuBean.getAtributo();

// faz as operações desejadas com o Bean

}
Fox_McCloud
Silva03:
Olá Pessoal

Tenho um bean chamado ListaClienteVO e gostaria de ler todos os registro que comtem nele atravez de um iterator. ou até mesmo atraves de um FOR.

Alguem tem algum exemplo?

Grato


Mas o que é exatamente o seu ListaClienteVO? É uma classe que implementa java.util.List? Uma classe que extende java.util.AbstractList? Ou é simplesmente um atributo do tipo List que não respeita as normas de nomenclatura iniciando com letra minúscula?

Bom, no caso de qualquer collection iterável ou de um vetor você pode usar o enhanced for do Java 5, e pode aproveitar também os generics dessa versão (para as collections, o vetor sempre é tipado)...

private void listContents(List<ClienteVO> list){
	for(ClienteVO cliente : list){
		System.out.println(cliente.toString()); // Pensando em implementação adequada do toString()
	}
}
Você também pode usar um for comum...
private void listContents(List<ClienteVO> list){
	for(int i=0; i<list.size(); i++){
		ClienteVO cliente = list.get(i);
		System.out.println(cliente.toString());
	}
}
Ou no caso de outras collections iteráveis você pode utilizar o iterator normalmente...
private void listContents(List><ClienteVO> list){
	Iterator<ClienteVO> it = list.iterator();
	while(it.hasNext()){
		ClienteVO cliente = it.next();
		System.out.println(cliente.toString());
	}
}
E para finalizar os mesmos exemplos sem uso de generics:
private void listContents(List list){
	for(Object obj : list){
		if(!(obj instanceof ClienteVO))
			break; // Dá para elaborar esta verificação, a lista pode ter mas de um tipo de dado, mas é só um exemplo
		ClienteVO cliente = (ClienteVO)obj; // casting
		System.out.println(cliente.toString());
	}

	for(int i=0; i<list.size(); i++){
		Object obj = list.get(i);
		if(!(obj instanceof ClienteVO))
			break;
		ClienteVO cliente = (ClienteVO)obj; // casting
		System.out.println(cliente.toString());
	}

	Iterator it = list.iterator();
	while(it.hasNext()){
		Object obj = it.next();
		if(!(obj instanceof ClienteVO))
			break;
		ClienteVO cliente = (ClienteVO)obj; // casting
		System.out.println(cliente.toString());
	}
}
>
Criado 3 de julho de 2008
Ultima resposta 3 de jul. de 2008
Respostas 3
Participantes 4