@Override
	public void put(Key key, Value val)
	{
		if (N > M * 10)
			resize(2 * M);

		if (val == null)
		{
			delete(key);
			return;
		}

		int i = hash(key);
		if (!st[i].contains(key)) // Note: More efficient than contains(key) as
									// duplicate calculation of hash(key) not
									// involved
			N++;
		st[i].put(key, val);
	}