Você está aqui: Java ::: Coleções (Collections) ::: Passos Iniciais

Entendendo a interface Set<E>

Quantidade de visualizações: 19244 vezes


A interface Set representa um coleção que não contém elementos duplicados. Mais formalmente, sets não contém pares de elementos e1 e e2, de modo que e1.equals(e2), e no mínimo um elemento null. Como seu nome diz, esta interface modela a abstração matemática de conjuntos.

Entre as classes que implementam esta interface podemos citar: AbstractSet, ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReasons, LinkedHashSet e TreeSet.

A interface Set acrescenta algumas estipulações, além daquelas herdadas da interface Collection, nos contratos de todos os construtores e nos contratos dos métodos add, equals e hashCode.

A estipulação adicional nos construtores é de que os construtores devem criar um conjunto que não contenha elementos duplicados.

Obs: Muito cuidado deve ser tomado se objetos mutáveis forem usados como elementos de conjuntos. O comportamente de um conjunto não é especificado se o valor de um objeto é alterado de forma a afetar a comparação equals enquanto o objeto for um elemento do set. Um caso especial desta proibição é que não é permitido que um set contenha a si mesmo como elemento.

Algumas implementações de set apresentam restrições em relação aos elementos que elas podem conter. Por exemplo, algumas implementações não aceitam o elemento null, e algumas têm restrições em relação ao tipo de seus elementos. Tentar adicionar um elemento não permitido pode atirar uma exceção não verificada, geralmente NullPointerException ou ClassCastException. Tentar verificar a presença de um elemento não permitido pode atirar uma exceção, ou simplesmente retornar false; algumas implementações podem exibir o primeiro comportamento e outras podem exibir o segundo. Mais comumente, tentar um operação em um elemento não permitido, cuja finalização não resultaria na inserção do elemento não permitido no set, pode atirar uma exceção ou obter sucesso. Tudo depende das opções fornecidas pela implementação. Tais exceções são marcadas "optional" em sua especificação.

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 33 usuários muito felizes estudando em nosso site.