Duvida com set

Pessoal,

qndo usamos um list fazemos List x = new arrayList();

e qndo usamos um Set? Como fica?

Set x = … ?

Exato.

pode ser um HashSet, por exemplo.

Mas a minha dúvida é exatamente essa, pq n posso fazer Set<Classe> x = new Set<Classe>();

Mas a minha dúvida é exatamente essa, pq n posso fazer Set<Classe> x = new Set<Classe>();[/quote]

porque Set é uma Interface.

abraço.

Mas a minha dúvida é exatamente essa, pq n posso fazer Set<Classe> x = new Set<Classe>();[/quote]

porque Set é uma Interface.

abraço.[/quote]

Entao o correto é fazer:

Set<Classe> x = new HashSet<Classe>(); ?

Repare que aqui vc não faz um new List, e sim um new ArrayList. Isso pq List é uma interface e não pode ser instanciada, mas pode ser declarada como um tipo de referência.

amigao vc pode usar tanto:

new TreeSet<Classe>();

quanto:

new LinkedHashSet<Classe>();

ou:

new HashSet<Classe>();

lembrando que HashSet é um conjunto nao classificado e nao ordenado, LinkedHashSet é ordenado por ordem de inserção e TreeSet é classificado por ordem natural…

a caelum disponibiliza um material legal sobre o assunto

http://caelum.com.br/curso/cs-14-algoritmos-estruturas-dados-java/