class BetterMap {
    
    public BetterMap() {}

    /**
     * Should insert the Key -> Value Mapping. Does not return anything
     * @param key
     * @param value 
     */
    public void put(String key, Integer value) {}
    
    /**
     * Should return the Value that was inserted for the corresponding Key. If
     * the Key does not exist, it will return null.
     * @param key
     * @return Integer value or null
     */
    public Integer get(String key) {}
    
    /**
     * Should delete the mapping stored for the Key key. Does not return anything.
     * Should do nothing if the key does not exist.
     * @param key 
     */
    public void delete(String key) {}
    
    /**
     * Returns a Value picked at random from the existing Key -> Value data set.
     * This should run in constant O(1) time
     * @return Integer value from the dataset. Should never be null unless the dataset
     * is empty
     */
    public Integer pick() {}
}


This Coding Interview Question is available with an answer in the following programming languages :