ConcurrentHashMap
uses multiple buckets to store data. This avoids read locks and greatly improves performance over a HashTable
. Both are thread safe, but there are obvious performance wins with ConcurrentHashMap
.
When you read from a ConcurrentHashMap
using get()
, there are no locks, contrary to the HashTable
for which all operations are simply synchronized. HashTable
was released in old versions of Java whereas ConcurrentHashMap
is a java 5+ thing.
HashMap
is the best thing to use in a single threaded application.
Related Posts:
- What are the differences between a HashMap and a Hashtable in Java?
- Hashtable, HashMap, HashSet , hash table concept in Java collection framework
- What is a hash function in java?
- Printing a java map Map
– How? - What is a hash function in java?
- Java associative-array
- Is a Python dictionary an example of a hash table?
- Exception in thread “main” java.lang.StackOverflowError
- Difference between HashSet and HashMap?
- Exception in thread “main” java.lang.StackOverflowError
- Iterate through a HashMap [duplicate]
- C# Java HashMap equivalent
- C# Java HashMap equivalent
- Iterate through a HashMap [duplicate]
- What is the significance of load factor in HashMap?
- How to update a value, given a key in a hashmap?
- Collision resolution in Java HashMap
- Difference between HashMap and Map in Java..?
- Java Hashmap: How to get key from value?
- Sorting HashMap by values
- How to sort Map values by key in Java?
- HashMap get/put complexity
- What is a hash map in programming and where can it be used
- What is the difference between the HashMap and Map objects in Java?
- “Cannot create generic array of ..” – how to create an Array of Map
? - Good Hash Function for Strings
- Map of maps – how to keep the inner maps as maps?
- toring and Retrieving ArrayList values from hashmap
- What does Java option -Xmx stand for? [duplicate]
- How do I convert a String to an int in Java?
- What does Java option -Xmx stand for? [duplicate]
- Is there an invisible character that is not regarded as whitespace?
- Problem with gif with transparent background
- Finding white rectangle in an image
- 1000 * 60 * 60 * 24 * 30 results in a negative number [duplicate]
- How to convert nanoseconds to seconds using the TimeUnit enum?
- Search for words with telephone numbers from 2-3-4 tree
- How to do associative array/hashing in JavaScript
- Using or ‘|’ in regex [duplicate]
- How to format strings in Java
- What is the difference between x86 and x64
- && (AND) and || (OR) in IF statements
- How to use the toString method in Java?
- What is a NullPointerException, and how do I fix it?
- What exactly is Apache Camel?
- Unable to find valid certification path to requested target – error even after cert imported
- Unable to find valid certification path to requested target – error even after cert imported
- What is the equivalent of the C++ Pair
in Java? - Java – Convert integer to string [duplicate]
- Getting random numbers in Java [duplicate]
- What is an instance variable in Java?
- javac is not recognized as an internal or external command, operable program or batch file [closed]
- javac is not recognized as an internal or external command, operable program or batch file [closed]
- Java: “error: cannot find symbol”
- How does the Java ‘for each’ loop work?
- Which is the difference between Long.valueOf(0) and 0L in Java?
- What is a StackOverflowError?
- Use of “instanceof” in Java [duplicate]
- What is the best way to use a HashMap in C++?
- How to use Collections.sort() in Java?
- What is the best way to use a HashMap in C++?
- How to uninstall Eclipse?
- Is GNU’s Java Compiler (GCJ) dead? [closed]
- How does System.out.print() work?
- How do I “decompile” Java class files? [closed]
- How do I determine whether an array contains a particular value in Java?
- How to initialize an array in Java?
- How does the Java ‘for each’ loop work?
- Java 8 Iterable.forEach() vs foreach loop
- Initialize part of an array in java
- How can I solve Exception in thread “main” java.lang.NullPointerException error [duplicate]
- How to split a string in Java
- What does “Could not find or load main class” mean?
- What does “Could not find or load main class” mean?
- Why am I getting a NoClassDefFoundError in Java?
- How to avoid “ConcurrentModificationException” while removing elements from `ArrayList` while iterating it? [duplicate]
- Eclipse/Maven error: “No compiler is provided in this environment”
- How do I compare strings in Java?
- Is Java “pass-by-reference” or “pass-by-value”?
- What is reflection and why is it useful?
- Implementing UML diagram to Java [closed]
- How to round a number to n decimal places in Java
- Using Pairs or 2-tuples in Java [duplicate]
- How do I create a file and write to it?
- Hash Map in Python
- Could not reserve enough space for object heap
- Difference between java.exe and javaw.exe
- When to use LinkedList over ArrayList in Java?
- Can’t start Eclipse – Java was started but returned exit code=13
- How to convert a char to a String?
- Can’t start Eclipse – Java was started but returned exit code=13
- super() in Java
- Difference between Arrays.asList(array) and new ArrayList
(Arrays.asList(array)) - What is the proper way to handle a NumberFormatException when it is expected?
- What causes “Unable to access jarfile” error?
- What does “Could not find or load main class” mean?
- How do you create a dictionary in Java? [closed]
- Reading a plain text file in Java
- Error unable to access jarfile C:\Jar
- Where is JRE 11? [duplicate]