Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

List e Collection - Dúvida sobre qual usar

Olá, o Paulo diz que é boa prática utilizar as interfaces mais genéricas, e por isso ele utiliza List para criar uma ArrayList e Collection para um HashSet, ao criar um objeto.

A dúvida é: também não poderia ser usado o Collection em vez de List para criar uma ArrayList? Já que tanto List como Set estendem a interface Collection e ela é mais genérica do que List? Haveria diferença?

2 respostas
solução!

Oi Giovani

List é uma Collection, mas mais especialista. A Collection é apenas isso: uma coleção de itens. Você pode adicionar coisas, remover coisas, iterar sobre coisas e consultar a quantidade de coisas que estão lá.

A Lista diciona a informação sobre uma sequência definida de coisas: você pode obter o elemento na posição n , pode adicionar um elemento na posição n , pode remover o elemento na posição n .

Em um Collection você não pode fazer isso: "o quinto elemento nesta coleção" porque não há uma ordem definida.

Existem também outras coleções especializadas, por exemplo: "Set" que adiciona a feature de que nunca conterá o mesmo elemento duas vezes (duplicatas).

Se você sabe que sempre vai ser um ArrayList, use a interface List. Se não souber ou puder receber List e Set, use a interface Collections.

Massa, valeu, Otávio!