Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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

Entendendo a classe HashSet

Quantidade de visualizações: 24155 vezes


Este classe é a implementação mais comum da interface Set. Veja sua posição na hierarquia de classes Java:
java.lang.Object
  java.util.AbstractCollection<E>
    java.util.AbstractSet<E>
      java.util.HashSet<E>
Veja a lista de interfaces implementadas por esta classe: Serializable, Cloneable, Iterable<E>, Collection<E> e Set<E>. As sub-classes desta classe incluem: JobStateReasons e LinkedHashSet.

Um HashSet é implementado como uma tabela hash (na verdade uma instância de HashMap é usada como apoio), uma matriz na qual os elementos são armazenados em uma posição derivada de seu conteúdo. Uma vez que as tabelas hash armazenam e recuperam elementos baseado em seu conteúdo, elas são bastante apropriadas para implementar as operações de Set (o Collections Framework também as usa para várias operações de Map). Por exemplo, para implementar contains(Object o), procuraríamos pelo elemento o e retornaríamos true se ele fosse encontrado. Esta classe permite o elemento null.

Esta classe oferece performance de tempo constante para as operações básicas (add, remove, contains e size), desde que a função hash disperse os elementos apropriadamente entre os buckets. A iteração pelos elementos requer um tempo proporcional à soma do tamanho do HashSet (quantidade de elementos) mais a capacidade da instância HashMap de apoio (número de buckets). Assim, é importante não definir a capacidade inicial muito alta se a performance de iteração for importante.

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á 35 usuários muito felizes estudando em nosso site.