What is diffrence between HashSet and HashMap in java? Answer it with relevent code example.
HashSet and HashMap are both data structures used in Java for storing and managing collections of elements, but they serve different purposes and have different characteristics:
HashSet:HashSetis a collection that stores unique elements. It does not allow duplicate values.Elements in a
HashSetare not ordered, meaning there is no specific order in which elements are stored or retrieved.It is based on the concept of a hash table where elements are hashed, allowing for fast insertion, deletion, and retrieval operations.
Example code for HashSet:
import java.util.HashSet;
public class HashSetEx {
public static void main(String[] args) {
HashSet<String> names = new HashSet<>();
// Adding elements to the HashSet
names.add("Alice");
names.add("Bob");
names.add("Charlie");
names.add("Alice"); // Duplicate won't be added
// Iterating through the HashSet
for (String name : names) {
System.out.println(name);
}
}
}
Output:
Charlie
Bob
Alice
HashMap:HashMapis a collection that stores key-value pairs. It allows for efficient retrieval of values based on their associated keys.Keys in a
HashMapmust be unique, but values can be duplicates.HashMapdoes not guarantee any specific order of elements.
Example code for HashMap:
import java.util.HashMap;
public class HashMapEx {
public static void main(String[] args) {
HashMap<Integer, String> studentMap = new HashMap<>();
// Adding key-value pairs to the HashMap
studentMap.put(1, "Alice");
studentMap.put(2, "Bob");
studentMap.put(3, "Charlie");
studentMap.put(4, "Alice"); // Duplicate value with different key
// Retrieving values from the HashMap
String name = studentMap.get(2);
System.out.println("Student with ID 2 is: " + name);
}
}
Output:
Student with ID 2 is: Bob
In summary, HashSet is used to store a collection of unique elements, while HashMap is used to store key-value pairs, where keys are unique. The choice between them depends on the specific requirements of your program. If you need to store and retrieve values based on keys, HashMap is suitable. If you simply need to store a set of unique elements, HashSet is the appropriate choice.
