Junior — Middle
How can a thread-safe Map data structure be implemented in a multi-threaded environment?
sobes.tech AI
Answer from AI
To implement a thread-safe Map data structure in Java, you can use the ConcurrentHashMap class from the java.util.concurrent package. It provides efficient access and modification of data in a multithreaded environment without the need for external synchronization.
Example usage:
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Adding an element
map.put("key", 1);
// Retrieving an element
Integer value = map.get("key");
// Safe update of a value
map.computeIfPresent("key", (k, v) -> v + 1);
Alternatively, you can use Collections.synchronizedMap(new HashMap<>()), but ConcurrentHashMap is usually preferred for high concurrency.