public boolean remove(K key) {
            if (key == null) return false;
            int hash = getHashCode(key);
            LinkedList<Item<K, V>> bucket = buckets[hash];
            if (bucket == null) return false;
            for (Item<K, V> item : bucket) {
                if (item.getKey().equals(key)) {
                    bucket.remove(item);
                    return true;
                }
            }
            return false;
        }