Como eu posso verificar se um objeto está em uma ArrayList e, caso esteja, retornar uma referencia para ele?
vc pode fazer uma varredura na ArrayList com o for e depois criar uma condição verificando se o objeto existe na ArrayList
vlw[]s
Não, nada de varrer array. Usa o método indexOf(Object o) passa o teu objeto. Ele retorna -1 se não encontrar o objeto e o indice dele se encontrar.
Não esquece de implentar equals.
Boa sorte
Como exatamente a ArrayList procura a posicao?
Se ela percorrer a lista toda, entao valeria mais a pena eu mesmo fazer isso. Por exemplo:
Eu procuro a posicao do objeto X. Aí o método percorre a lista toda até achar a posicao i de X.
Daí eu mando retornar o objeto que está na posição i. Logo, o método percorre a lista toda até chegar na posição i.
Ou seja, vou percorrer a lista 2 vezes quando podia ser somente uma.
Se for desse jeito, como eu faria para percorrer a lista eu mesmo e testar os elementos? Nunca usei ArrayList na minha vida. E o google não ajudou muito, por incrível que pareça.
Não cara, com usa os métodos da API de coleções, deve valer mais a pena. Depois que vc tem um indice vc não irá mais percorrer a lista para buscar o elemento não, é feito um único acesso.
Agora se vc confiar mais no algoritmo que vc implementar do que no que a SUN implementa. Sinta-se a vontade. Só tenta não se preocupar como funciona a implementação interna da API, se concentra no dominío do teu problema que sua produtividade vai aumentar.
valeu
Respondendo a essa pergunta:
Arraylist<Tipo do Objeto> arrayList = seu array list
for (TipoDoObjeto o: arrayList){
if(o.equals(TEUOBJETO)) ..... return o;
}
Seria alguma coisa assim.
Não não estiver usando JAVA 5 usa um iterator, é só procurar no google que ele te explica como usar
Usando indexOf() ficaria + ou - assim:
if(sua_arraylist.indexOf(seu_objeto) != -1){
// comandos
}
else {
// comandos
}