Dúvidas com ArrayList // .indexOf // .lastIndexOf [RESOLVIDO]
3 respostas
Cornelius
Bom dia a todos,
Apesar de ser meu primeiro post, navego bastante neste fórum. Como não achei nada que sane minha dúvida, pergunto:
To aprendendo Collections lá na facul e estou tentando colocar todo conteúdo de uma ArrayList e colocar numa String. Porém não to conseguindo usar o lastIndexOf e o indexOf. Olha só:
publicstaticStringexibirNomes(ArrayListlista){Stringnomes=newString("");while(nomes.lastIndexOf(lista)){//não sei se ta certonomes+=lista.indexOf()+"\n";//não sei se ta certo}returnnomes;}
Como consigo usar esses métodos para correr no ArrayList?
Esse métodos são para descobrir o índice de um elemento dentro do list. Para percorrer o array, use os métodos get() e size() ou o for each:
public static String exibirNomes(List<String> lista){
String nomes = new StringBuilder();
for (String nome : lista) {
nomes.append(nome);
}
return nomes.toString();
}
public static String exibirNomes(List<String> lista){
String nomes = new StringBuilder();
int i = 0;
while (i < lista.size()) {
String nome = lista.get(i);
nomes.append(nome);
i++;
}
return nomes.toString();
}
segundo:; você precisa utilizar esses métodos? a lógica está errada.
publicstaticStringexibirNomes(ArrayListlista){Stringnomes=newString("");while(nomes.lastIndexOf(lista)){// não se pode passar uma lista como parâmetro para esse métodonomes+=lista.indexOf()+"\n";// você precisa passar um parâmetro para esse método}returnnomes;}
tua lista é de String? tente assim:
publicstaticStringexibirNomes(List<String>lista){
Stringnomes="";for(inti=0; i < lista.size(); i++) {nomes+=lista.get(i)+"\n";}
returnnomes;
}
[edit]disse que ArrayList não possui o método indexOf(), mas me confundi na hora de escrever. ele existe sim. leia a api[/edit]
Cornelius
Blz… não pensei que existia uma solucão tão simples como vocês me informaram. Muito obrigado senhores!