Olá Pessoal,
Gostaria de saber se alguém conhece algo com maior performance para se obter a interseccção entre duas coleções do que o método Collection.retainAll(Collection) ?
att,
Olá Pessoal,
Gostaria de saber se alguém conhece algo com maior performance para se obter a interseccção entre duas coleções do que o método Collection.retainAll(Collection) ?
att,
Se ambas as coleções usadas têm acesso lento, ou a codificação de HashCode/Equals ou CompareTo é lenta, não há o que fazer no caso de retainAll.
Entretanto, se suas coleções puderem ser representadas como um BitSet, pode-se usar “and” ( http://docs.oracle.com/javase/6/docs/api/java/util/BitSet.html#and(java.util.BitSet) ) para determinar a intersecção dos conjuntos.
bezier curve, obrigado até posso porém minha representação é para mais de 1mil de elementos, e o BitSet tem desempenho pior do que o retainAll quando se trabalhaba com elementos acima de cinco digitos que é meu caso. Vlw!