1. Introduction
ConcurrentHashMap is a part of the Java Collections Framework designed for concurrent use by multiple threads. It provides thread-safety without synchronizing the entire map, thus ensuring high performance. In this guide, we will explore the CRUD (Create, Read, Update, Delete) operations on a ConcurrentHashMap.
2. Program Steps
1. Initialize a ConcurrentHashMap.
2. Populate the ConcurrentHashMap with key-value pairs (Create).
3. Retrieve a value by its key from the ConcurrentHashMap (Read).
4. Modify the value of an existing key (Update).
5. Remove a key-value pair from the ConcurrentHashMap (Delete).
6. Display the final state of the ConcurrentHashMap.
3. Code Program
import java.util.concurrent.ConcurrentHashMap;
public class ConcurrentHashMapCRUDExample {
public static void main(String[] args) {
// 1. Initialize a ConcurrentHashMap
ConcurrentHashMap<String, Integer> scores = new ConcurrentHashMap<>();
// 2. Populate the ConcurrentHashMap with key-value pairs (Create)
scores.put("Alice", 90);
scores.put("Bob", 85);
scores.put("Charlie", 88);
System.out.println("Initial ConcurrentHashMap: " + scores);
// 3. Retrieve a value by its key from the ConcurrentHashMap (Read)
int aliceScore = scores.get("Alice");
System.out.println("Score of Alice: " + aliceScore);
// 4. Modify the value of an existing key (Update)
scores.put("Alice", 92);
System.out.println("Updated score of Alice: " + scores.get("Alice"));
// 5. Remove a key-value pair from the ConcurrentHashMap (Delete)
scores.remove("Bob");
System.out.println("After deleting Bob's score: " + scores);
// 6. Display the final state of the ConcurrentHashMap
System.out.println("Final ConcurrentHashMap: " + scores);
}
}
Output:
Initial ConcurrentHashMap: {Alice=90, Bob=85, Charlie=88} Score of Alice: 90 Updated score of Alice: 92 After deleting Bob's score: {Alice=92, Charlie=88} Final ConcurrentHashMap: {Alice=92, Charlie=88}
4. Step By Step Explanation
1. We start by creating a ConcurrentHashMap instance using its default constructor.
2. The put method is used to insert key-value pairs into the ConcurrentHashMap.
3. We retrieve the value associated with a particular key using the get method.
4. To modify the value of an existing key, we use the put method with a key that already exists in the map.
5. We utilize the remove method to delete a specified key-value pair from the ConcurrentHashMap.
6. Throughout the program, we display the state of the ConcurrentHashMap at various stages to track the changes.
This guide provides a basic overview of the CRUD operations on a ConcurrentHashMap in Java, highlighting its concurrent properties that ensure thread-safety.