Java HashSet
Java HashSet
A HashSet
is a collection of elements where every element is
unique.
It is part of the java.util
package and implements the Set
interface.
Create a HashSet
ExampleGet your own Java Server
Create a HashSet
object called cars that will store strings:
import java.util.HashSet; // Import the HashSet class
HashSet<String> cars = new HashSet<String>();
Now you can use methods like add()
, contains()
, and remove()
to manage your collection of unique elements.
Add Elements
To add elements to a HashSet
, use the add()
method:
Example
// Import the HashSet class
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<String> cars = new HashSet<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("BMW"); // Duplicate
cars.add("Mazda");
System.out.println(cars);
}
}
Note: In the example above, even though "BMW"
is added twice, it only appears once in the set because sets do not allow duplicate elements.
Check If an Element Exists
To check whether an element exists in a HashSet
, use the contains()
method:
Remove an Element
To remove an element, use the remove()
method:
To remove all elements, use the clear()
method:
HashSet Size
Use size()
to count how many unique elements are in the set:
Note: Duplicate values are not counted - only unique elements are included in the size.
Loop Through a HashSet
Loop through the elements of an HashSet
with a for-each loop:
Other Types
Elements in an HashSet
are actually objects. In the examples above, we created
elements
(objects) of type "String". Remember that a String
in Java is an object (not a primitive type). To use other types, such as int
, you must specify an equivalent wrapper class: Integer
. For other primitive types,
use: Boolean
for boolean, Character
for char, Double
for double,
etc:
Example
Use a HashSet
that stores Integer
objects:
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// Create a HashSet object called numbers
HashSet<Integer> numbers = new HashSet<Integer>();
// Add values to the set
numbers.add(4);
numbers.add(7);
numbers.add(8);
// Show which numbers between 1 and 10 are in the set
for (int i = 1; i <= 10; i++) {
if (numbers.contains(i)) {
System.out.println(i + " was found in the set.");
} else {
System.out.println(i + " was not found in the set.");
}
}
}
}
When Order Matters
In the next chapter, you will learn about TreeSet
, which stores unique elements in sorted order.
Exercise?What is this?
Test your skills by answering a few questions about the topics of this page
What is a correct syntax to create a HashSet object that will store strings?