On the other hand, a HashMap has an average time complexity of O(1) for put() , contains() and remove() operations. The worst-case time complexity for those operations is O(log n) since Java 8, and O(n) before that. Space-complexity wise, both have a complexity of O(n)