@Override
	public V remove(Object key) {
		V lastValue = null;
		int index;
		//noinspection SuspiciousMethodCalls
		while ((index = keys.indexOf(key)) > -1) {
			lastValue = removeByIndex(index);
		}
		return lastValue;
	}
@SuppressWarnings("OverwrittenKey")
	@Test
	public void removeTest() {
		final TableMap<String, Integer> tableMap = new TableMap<>(16);
		tableMap.put("a", 111);
		tableMap.put("a", 222);
		tableMap.put("a", 222);

		tableMap.remove("a");

		assertEquals(0, tableMap.size());
	}