HashSets
You’ve just learned that a HashMap
stores key–value pairs, with each key being unique.
A HashSet
is similar, except it stores only the values, and each value must be unique.
There are no keys — you just add elements, and the set makes sure no duplicates are allowed.
Like HashMap
, HashSet
is contained in java.util
.
General Syntax for Creating a HashSet
import java.util.HashSet;
HashSet<ElementType> name = new HashSet<ElementType>();
To add items to a HashSet
, use the method .add(E element)
where E
is the element type parameter.
Here is an example of a set that stores String
names:
public class Program {
public static void main(String[] args) {
HashSet<String> names = new HashSet<String>();
names.add("Johnny");
names.add("Carl");
names.add("Grandpa");
names.add("Carl"); // duplicate - ignored
System.out.println(names);
// prints something like: [Grandpa, Johnny, Carl]
// order is not guaranteed
}
}
More Methods
-
To check if the set contains an element, use
.contains(E element)
:names.contains("Carl"); // true names.contains("Billy"); // false
-
To remove an element, use
.remove(E element)
:names.remove("Johnny"); // Johnny is no longer in the set
-
To get the number of items, use
.size()
:names.size();
-
To remove all elements, use
.clear()
:names.clear();
For more information, check out w3schools
Task
Create a set of your favorite foods (String
s). Print the set, check if a certain food is in it, and remove one.