Como pegar um elemento de uma Collection

3 respostas
B

tenho um objetivo Collection, mas ele nao tem um metodo get() pra pegar seus elementos… queria ver se conseguia um cast para List, mas nao consigo… como posso fazer? queria pegar o ultimo elemento dessa Collection

3 Respostas

M

por exemplo, instancie um ArrayList passando essa colection pro construtor e divirta-se!

F

Suponha que você tem uma Collection col de Strings, faça assim:

Iterator i = col.iterator();

while(i.hasNext()){
	System.out.println((String)i.next());
}

Em qualquer collection (ArrayList, LinkedList, etc...) você sempre pode usar um Iterator, e sempre é necessário fazer um casting para dizer ao Java o que é o objeto que você está recuperando.

Alternativamente, você pode usar o for avançado do Java 1.5:

for(Object o : col){
	System.out.println((String)o);
}

Aproveitando, uma collection guarda objetos, você não consegue guardar uma variável primitiva em uma collection, mas você sempre pode criar um objeto a partir da sua variável primitiva.

int[] numeros = new int[100];

for(int i=0;i<numeros.length;i++){
	numeros[i]=i*3;
}

ArrayList list = new ArrayList();

for(int i=0;i<numeros.length;i++){
	list.add(new Integer(numeros[i]));
}

Iterator i = list.iterator();

while(i.hasNext()){
	int num = ((Integer)i.next()).intValue();
	System.out.println(num);
}

Eu faço um casting (Integer)i.next() dizendo que o objeto que estou pegando é do tipo Integer, e depois recupero o valor int nele com intValue().

B

po, vcs mandaram muito bem… antes de ler a resposta de vcs, eu acabei resolvendo com o Iterator, mas nao tinha ficado legal… a solucao do meu problema é a do Mantu, mas muito legal oq o Fox McCloud escreveu… vivendo e aprendendo!

abracao pra vcs!

Criado 20 de abril de 2006
Ultima resposta 20 de abr. de 2006
Respostas 3
Participantes 3