Criei um List com e adicionei Strings, gostaria de saber como faço para comparar atraves de letras, por exemplo eu digito em um jtextfield e o meu List procura o string com a determinada letra, como um select no sql,
bahhhh, ta mão irmão…
Não testei, por isso nem sei se compila
// Criando sua lista de String's
List<String> lista = new ArrayList<String>();
// Adicionando valores
lista.add("Mario");
lista.add("Fabio");
lista.add("Paulo");
lista.add("Joao");
// Percorrendo a lista em busca de algo
// Crie um metodo para isso
for (String item : lista) {
String buscar = jTextField1.getText();
if (item.contains(buscar)) {
System.out.println("A lista CONTEM " + buscar + " em : " + item);
}
if (item.startsWith(buscar)) {
System.out.println("A lista COMECA COM " + buscar + " em : " + item);
}
if (item.endsWith(buscar)) {
System.out.println("A lista TERMINA COM " + buscar + " em : " + item);
}
}
nao sei se é exatamente o q vc quer mas aqui temos um List de Strings com as palavras a procuras
ordenamos ele
e depois o metodo findWors que recebe um char retorna uma lista com todas as palavras q contenham este char
vc pode alterar para receber uma string ao inves de um char ou alterar o retorno como achar melhor
tendo o List ordenado vc pode ate usar metodos da Classe Collections como bynarySearch ();
List words = new ArrayList();
Collections.sort(words);
public List findWors(Char a ){
List correctword = new ArrayList();
for(String s : words){
if (s.contains(a)){
correctword.add(s);
}
return correctword
}
A ideia de usar um TreeSet é ótima.
Só quis sugerir a ideia de ordenar antes de fazer a busca
e sugerir a possibilidade de usar busca binaria que pode ser mais rapida do que um loop por toda a coleção