Gostaria de saber se há uma maneira de fazer uma pesquisa em um ArrayList através da descrição dos objetos, como se fosse utilizar um “LIKE” no BD.
Tenho que fazer isso diretamente em uma lista pois os dados são temporários.
Por exemplo:
Objeto Produto contem a propriedade descrição, portanto crio uma lista de produtos e tenho que pesquisar por eles na lista através da descrição;
MANGUEIRA LINHA NAN 2"
MANGUEIRA LINHA NAN 3"
MANGUEIRA LINHA SUCÇÃO PESADA 5"
Mas esses dados são temporários, se fosse feita uma busca através de um banco de dados eu faria através de um LIKE, que tem como função comparar pastes da String e mostrar todos os objetos que possuem essa parte. Portanto, visando o caso acima e buscando diretamente na lista pela palavra chave “NAN” deveria me retornar os objetos cuja a descrição possui NAN.
ex:
MANGUEIRA LINHA NAN 2"
MANGUEIRA LINHA NAN 3"
É basicamente disso que eu preciso!
guilherme.dio
Entendi, você quer algo parecido com o LINQ do C#…
Mas eu acredito que o java não tenha nada pronto que forneça suporte a pesquisa em Collections.
Talvez se você pesquisar encontre algum projeto para isso no github ou no sourceforge.
Isso obviamente não ira funcionar para ele, porque a implementação do método Contains irá invocar o método Equals da classe Object que por sua vez verifica se os atributos(caso tenha sido sobreescrita nas classes inferiores) são identicos e não PARECIDOS, que é o que ele precisa.
Isso obviamente não ira funcionar para ele, porque a implementação do método Contains irá invocar o método Equals da classe Object que por sua vez verifica se os atributos(caso tenha sido sobreescrita nas classes inferiores) são identicos e não PARECIDOS, que é o que ele precisa.
Exatamente… não vai me servir por causa disso!
ele compara com o metodo Equals… e eu preciso apenas comparar as partes! Como se fosse um bom e velho Bubble-Sort! Mas que seja mais rápido pois é uma pesquisa que deve ocorrer em tempo quase que real!
Isso obviamente não ira funcionar para ele, porque a implementação do método Contains irá invocar o método Equals da classe Object que por sua vez verifica se os atributos(caso tenha sido sobreescrita nas classes inferiores) são identicos e não PARECIDOS, que é o que ele precisa.
Para mim prod.getDescricao() retorna uma String, portanto utilizo o contains() da classe String, não o contains da collection.
Isso obviamente não ira funcionar para ele, porque a implementação do método Contains irá invocar o método Equals da classe Object que por sua vez verifica se os atributos(caso tenha sido sobreescrita nas classes inferiores) são identicos e não PARECIDOS, que é o que ele precisa.
Para mim prod.getDescricao() retorna uma String, portanto utilizo o contains() da classe String, não o contains da collection.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Funcionou essa merda!
kkkkkkkkkkkkkkkkkkkkkkkkkkkk
Vlw pela dica ai!
Mas mesmo assim, se tiver algo que seja mais rápido melhor!
Obrigado