One caveat we should note is that it's possible to pass a key that doesn't exist (or has not been set), so we should handle that by returning undefined or None if that's the case.

1public Object get(String key) {
2  int idx = hashStr(key);
3
4  if (this._storage[idx] == null) {
5    return null;
6  }
7
8  for (Object[] keyVal : this._storage[idx]) {
9    if (keyVal[0].equals(key)) {
10      return keyVal[1];
11    }
12  }
13}