VOOZH about

URL: https://www.geeksforgeeks.org/java/difference-hashmap-concurrenthashmap/

⇱ Difference between HashMap and ConcurrentHashMap - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Difference between HashMap and ConcurrentHashMap

Last Updated : 6 Aug, 2019
HashMap is the Class which is under Traditional Collection and ConcurrentHashMap is a Class which is under Concurrent Collections, apart from this there are various differences between them which are:
  • HashMap is non-Synchronized in nature i.e. HashMap is not Thread-safe whereas ConcurrentHashMap is Thread-safe in nature.
  • HashMap performance is relatively high because it is non-synchronized in nature and any number of threads can perform simultaneously. But ConcurrentHashMap performance is low sometimes because sometimes Threads are required to wait on ConcurrentHashMap.
  • While one thread is Iterating the HashMap object, if other thread try to add/modify the contents of Object then we will get Run-time exception saying ConcurrentModificationException.Whereas In ConcurrentHashMap we wont get any exception while performing any modification at the time of Iteration.
  • Using HashMap Output:
    100=A
    Exception in thread "main" java.util.ConcurrentModificationException
    
    Using ConcurrentHashMap Output:
    100=A
    101=B
    102=C
    103=D
    {100=A, 101=B, 102=C, 103=D}
    
  • In HashMap, null values are allowed for key and values, whereas in ConcurrentHashMap null value is not allowed for key and value, otherwise we will get Run-time exception saying NullPointerException.
  • Using HashMap output:
    {null=World, 100=Hello, 101=Geeks, 102=Geeks}
    
    Using ConcurrentHashMap
Output:
Exception in thread "main" java.lang.NullPointerException
  • HashMap is introduced in JDK 1.2 whereas ConcurrentHashMap is introduced by SUN Microsystem in JDK 1.5.
  • Comment