Como posso verificar se dentro de um arraylist existe alguma palavra que comece com “adm” por exemplo?
Grata,
Adriana
Como posso verificar se dentro de um arraylist existe alguma palavra que comece com “adm” por exemplo?
Grata,
Adriana
Olá,
Acredito que vc terá que iterar esse ArrayList e testar cada item com startsWith(String).
Tenta fazer om o método indexOf da própria classe, você pode utilizar equals com ele. Mas acho que vai dar um pouco de trabalho.
Mais simples eu creio que seria você transformar em um array de Strings e fazer a verificação.
Arraylist.contains("adm");
Já tinha testado com Arraylist.contains(“adm”) mas não funciona e tbm quero parte da palavra.
Como funciona o startsWith(String)?
Existe a possibilidade de não ter q caminhar de item a item?
Existe a possibilidade de não ter q caminhar de item a item?
Ela não quer saber se existe a palavra “adm” - que é o que você sugeriu; ela quer saber se existe uma palavra que começa por “adm”. No caso dela realmente é necessário fazer uma de duas coisas:
import java.util.*;
class BinarySearch {
public static void main(String[] args) {
String[] profs = { // já ordenado
"advogado",
"administrador",
"analista",
"contador",
"engenheiro"
};
int pos = Arrays.binarySearch (profs, "adv"); // retornou -1
System.out.println (pos);
pos = Arrays.binarySearch (profs, "adm"); // retornou -1
System.out.println (pos);
pos = Arrays.binarySearch (profs, "cer"); // retornou -4
System.out.println (pos);
}
}
No caso “cer”, procure na posição +4 do array, como começa por “con” e não por “cer”, então “cer” não existe no array.
O retorno -1 é especial, porque nesse caso devemos procurar na posição +0 e +1 do array.
No caso “adm”, a posição +0 do array não começa com “adm” mas a posição +1 começa, então foi encontrado.
No caso “adv”, a posição +0 do array começa com “adv”.
String teste = "abcd";
teste.startsWith("ab"); //vai verificar se a string começa com ab
o thingol deu uma solucao boa
outra eh usar uma tabela de hash