AutoComplete lento

Pessoal,

acho q já vi uma duvida dessas aki, mas nao consegui achar…

Utilizo um jcombobox com o autocomplete q o vinigodoy postou nessa thread http://www.guj.com.br/posts/list/100120.java
só q agora preciso carregar cerca d 60.000 nomes nesse componente… tá funcionando, mas tá mto lento na hora de digitar.
alguem tem alguma idéia pra deixar isso mais rápido?
valeu

Você traz 60k de nomes de uma vez?
Eu acho melhor trazer de pouco em pouco conforme ele digita.

Trazer esta quantidade não é muito legal não. Nem pro banco nem pra sua aplicação.
Analise bem o que vc quer, se não tiver outro jeito é melhor usar outro componente, ou outro formulário para buscas.

Então, acontece q pelo tipo de procedimento o melhor seria um componente desses, pq aceleraria MUITO o trabalho do pessoal, no dia-a-dia.

a navegação, no código, é rápida pq uso hashmap… ele demora menos d um segundo pra carregar tudo do banco. Meu problema tá no componente…

Como faço, por exemplo, pra ordenar esses nomes? há algum tipo de organização q melhore a performance?
o já estou fazendo é só carregar depois de umas 3 letras terem sido digitadas…

60000 é muito para renderizar, exiba somente 50/100 e deixe o usuário ir filtrando ate reduzir a poucos nomes. Quem pesquisa em uma lista de 2000 nomes mesmo filtrados?
Traga os 50/100 e forçe o usuário refinar o filtro.

Rapapel, Ae q tá, esse é o problema 2…
essa classe nao “filtra”, mas ela completa… e 90% dos nomes são similares a outros até a metade ou um pouco mais. O cara digita 10 teclas e obtem todos os dados do individuo com um enter… mas esse combo só completa, ele não filtra no popup os nomes q iniciam com o q o usuario digitou… to tentando descobrir como ativar este filtro.

Vou tentar ppopular o combo depois do usuario ter batido umas 3 teclas e vejo no q dá

[quote=zerokelvin]Rapapel, Ae q tá, esse é o problema 2…
essa classe nao “filtra”, mas ela completa… e 90% dos nomes são similares a outros até a metade ou um pouco mais. O cara digita 10 teclas e obtem todos os dados do individuo com um enter… mas esse combo só completa, ele não filtra no popup os nomes q iniciam com o q o usuario digitou… to tentando descobrir como ativar este filtro.

Vou tentar ppopular o combo depois do usuario ter batido umas 3 teclas e vejo no q dá[/quote]

Pelo que você disse, você precisa de algo que procure as coisas com um tipo de “LIKE %____%”, é isso? Por exemplo, há 20000 “José Aparecido da Silva”, só que alguns são “José Aparecido da Silva Medeiros”, outros são “José Aparecido da Silva Nascimento” e você gostaria que digitando “Medei” aparecessem só os que tivessem Medeiros no nome, não importando se estivesse no começo ou no fim

mais ou menos… na verdade estarei com os 60000 carregados numa hash… so populo o combo