Part 17: HashSet in Java with real time example

JAVA

Java HashSet

In a HashSet, every item is unique which is known as collection. It is found in the java.util packages. This  collection uses a hash table for storage. It inherits the AbstractSet class and implements Set interface. A list can contain duplicate elements whereas Set contains unique elements only.

The importantfeatures about Java HashSet class are:

  • It stores the elements by using a mechanism called hashing.
  • It contains unique elements only.
  • It allows null value.
  • It class is none synchronized.
  • It doesn’t maintain the insertion order. Here, elements are inserted on the basis of their hashcode.
  • It is the best approach for search operations.

Java HashSet  Declaration:

public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable

Constructors of Java HashSet

  • HashSet():It is used to construct a default HashSet.
  • HashSet(int capacity):It is used to initialize the capacity of the hash set to the given integer value capacity. The capacity grows automatically as elements are added to the HashSet.
  • HashSet(int capacity, float loadFactor):It is used to initialize the capacity of the hash set to the given integer value capacity and the specified load factor.
  • HashSet(Collection<? extends E> c):It is used to initialize the hash set by using the elements of the collection c.

Methods of Java HashSet class

  • add(E e):It is used to add the specified element to this set if it is not already present.
  • clear():It is used to remove all of the elements from the set.
  • object clone(): It is used to return a shallow copy of this HashSet instance: the elements themselves are not cloned.
  • contains(Object o):It is used to return true if this set contains the specified element.
  • isEmpty():It is used to return true if this set contains no elements.
  • iterator():It is used to return an iterator over the elements in this set.
  • remove(Object o):It is used to remove the specified element from this set if it is present.
  • int size():It is used to return the number of elements in the set.

Example

//Create a HashSet object called letters that will store strings:

import java.util.HashSet; // Import the HashSet class

HashSet<String> lettes = new HashSet<String>();

Add Items: The HashSet class has many useful methods. For example, to add items to it, use the add() method:

Example

// Import the HashSet class

import java.util.HashSet;

public class Main {

public static void main(String[] args) {

HashSet<String> lettes = new HashSet<String>();

lettes.add("A");

lettes.add("B");

lettes.add("C");

lettes.add("B");

lettes.add("E");

System.out.println(lettes);

}

}

OUTPUT:

A B C E

In the example above, even though Bis added twice it only appears once in the set because every item in a set has to be unique.

  • Check If an Item Exists: In order to check whether an item exists in a HashSet, use the contains() method:

Example

lettes.contains(“B”);

  • Remove an Item: In order to remove an item, use the remove() method:

Example

lettes.remove(“A”);

To remove all items, use the clear() method:

Example

lettes.clear();

HashSet Size

In order to find out how many items there are, use the size method:

Example

lettes.size();

HashSet Loop: Loop through the items of an HashSet with a for-each loop:

Example

for (String i : letters) {

System.out.println(i);

}

Other Types:

In order 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 ExMain {

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!");

} else {

System.out.println(i + " was not found!");

}

}

}

}

OUTPUT​

1 was not found!

2 was not found!

3 was not found!

4 was found!

5 was not found!

6 was not found!

7 was found!

8 was found!

9 was not found!

10 was not found!

0 Comments

You may find interest following article