Class MyHashMap

java.lang.Object
g0701_0800.s0706_design_hashmap.MyHashMap

public class MyHashMap extends java.lang.Object
706 - Design HashMap.

Easy

Design a HashMap without using any built-in hash table libraries.

Implement the MyHashMap class:

  • MyHashMap() initializes the object with an empty map.
  • void put(int key, int value) inserts a (key, value) pair into the HashMap. If the key already exists in the map, update the corresponding value.
  • int get(int key) returns the value to which the specified key is mapped, or -1 if this map contains no mapping for the key.
  • void remove(key) removes the key and its corresponding value if the map contains the mapping for the key.

Example 1:

Input

[“MyHashMap”, “put”, “put”, “get”, “get”, “put”, “get”, “remove”, “get”]

[ [], [1, 1], [2, 2], [1], [3], [2, 1], [2], [2], [2]]

Output: [null, null, null, 1, -1, null, 1, null, -1]

Explanation:

 MyHashMap myHashMap = new MyHashMap(); 
 myHashMap.put(1, 1); // The map is now [[1,1]] 
 myHashMap.put(2, 2); // The map is now [[1,1], [2,2]] 
 myHashMap.get(1); // return 1, The map is now [[1,1], [2,2]] 
 myHashMap.get(3); // return -1 (i.e., not found), The map is now [[1,1], [2,2]] 
 myHashMap.put(2, 1); // The map is now [[1,1], [2,1]] (i.e., update the existing value) 
 myHashMap.get(2); // return 1, The map is now [[1,1], [2,1]] 
 myHashMap.remove(2); // remove the mapping for 2, The map is now [[1,1]] 
 myHashMap.get(2); // return -1 (i.e., not found), The map is now [[1,1]]

Constraints:

  • 0 <= key, value <= 106
  • At most 104 calls will be made to put, get, and remove.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    get(int key)
     
    void
    put(int key, int value)
     
    void
    remove(int key)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MyHashMap

      public MyHashMap()
  • Method Details

    • put

      public void put(int key, int value)
    • get

      public int get(int key)
    • remove

      public void remove(int key)