Junior — Middle
É possível explicar as principais diferenças entre as estruturas de dados HashMap e HashSet e as situações em que são usadas?
sobes.tech IA
Resposta da IA
HashMap e HashSet são estruturas de dados do Java Collections Framework, baseadas em hashing, mas servem a propósitos diferentes:
-
HashMap é uma coleção de pares "chave-valor". Ela armazena chaves únicas e os valores associados a elas. Permite procurar, adicionar e remover elementos rapidamente por chave.
-
HashSet é uma coleção de elementos únicos sem chaves nem valores. É essencialmente um HashMap onde os valores não importam, apenas as chaves (elementos).
Quando usar:
- HashMap: quando precisa armazenar e acessar rapidamente dados por chave, por exemplo, um dicionário ou cache.
- HashSet: quando a unicidade dos elementos e a busca rápida são importantes, por exemplo, verificar se um elemento já foi visto.
Exemplo:
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);
HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");