Encontrar com eficiência a interseção de um número variável de conjuntos de strings

Eu tenho um número variável de ArrayList que eu preciso encontrar a interseção de. Um limite realista para o número de conjuntos de strings provavelmente é de cerca de 35, mas poderia ser mais. Eu não quero nenhum código, apenas idéias sobre o que poderia ser eficiente. Eu tenho uma implementação que estou prestes a começar a codificar, mas quero ouvir outras idéias.

Atualmente, pensando na minha solução, parece que eu deveria ter um tempo de execução assintótico de Θ (n2)

Obrigado por qualquer ajuda!

tshred

$5)6$

questionAnswers(6)

yourAnswerToTheQuestion