Grokking Data Structures & Algorithms for Coding Interviews
Ask Author
Back to course home

0% completed

Introduction to HashSets

In simple terms, a HashSet is a collection or a group of unique elements. Think of it as a party where everyone has a different name; no two people can have the same name. In coding terms, this means HashSets do not allow duplicate values.

The Difference at a Glance: HashTable vs. HashSet

HashTable is like a dictionary, full of word (key) and definition (value) pairs. In contrast, HashSet is more like a unique-word collector, not bothered about definitions, just the words.

Image
HashTable vs. HashSet

Core Characteristics of HashSets

  • Uniqueness: The first thing to remember about HashSets is that every element is unique. It’s like having a basket of fruits, and no two fruits in it are the same. This uniqueness is the superpower of HashSets!

  • Null Elements: A HashSet can include a null element. It’s like having an empty slot in your fruit basket, and that’s perfectly okay!

  • Order: When it comes to order, HashSets like to keep it casual. They do not guarantee any specific order of the elements. It’s like reaching into your fruit basket blindfolded – you never know which fruit you’ll grab first!

Internal Working of a HashSet

  • Handling Duplicates: So, what happens when HashSets encounter a duplicate? They simply ignore it! If you try to add a fruit that’s already in your basket, HashSet will just keep the original and discard the duplicate.

  • Hashing Function: HashSets, like HashTables, use a hashing function to decide where each element should go. It’s like assigning a specific spot in your basket for each fruit based on its name.

  • Resizing the Set: What happens when your basket gets full? When a HashSet starts running out of room, they increase the basket size to make space for more unique elements.

In the next section, we will solve some problems related to HashSets.

Mark as Completed