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ó:
public static String exibirNomes(ArrayList lista){
String nomes = new String("");
while(nomes.lastIndexOf(lista)){ //não sei se ta certo
nomes += lista.indexOf() + "\n"; //não sei se ta certo
}
return nomes;
}
Como consigo usar esses métodos para correr no ArrayList?
Desde já agradeço! :lol:
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();
}
seja bem vindo Cornelius.
primeiro: recomendo que leia a api de Collection.
segundo:; você precisa utilizar esses métodos? a lógica está errada.
[code]public static String exibirNomes(ArrayList lista) {
String nomes = new String("");
while(nomes.lastIndexOf(lista)) { // não se pode passar uma lista como parâmetro para esse método
nomes += lista.indexOf() + "\n"; // você precisa passar um parâmetro para esse método
}
return nomes;
}[/code]
tua lista é de String? tente assim:
[code]public static String exibirNomes(List lista) {
String nomes = “”;
for (int i = 0; i < lista.size(); i++) {
nomes += lista.get(i) + "\n";
}
return nomes;
}[/code]
[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]
Blz… não pensei que existia uma solucão tão simples como vocês me informaram. Muito obrigado senhores! 