@Override
	public V put(K k, V v) {
		size++;
		MapEntry<K, V> m = new MapEntry<K, V>(k, v);
		int index = k.hashCode() % structure.length;
		if (structure[index] == null) {
			structure[index] = m;
		} else {
			size--;
			if (structure[index].equals(m)) {
				structure[index] = m;
			} else {
				rebuild();
				put(k, v);
			}
		}

		return v;
	}