Почему initialCapacity для Hashtable равен 11, а DEFAULT_INITIAL_CAPACITY в HashMap равен 16 и требует степени 2

СравнениеHashMap а такжеHashtable Исходный код в JDK 1.6, я видел ниже коды внутри HashMap

/**
 * The default initial capacity - MUST be a power of two.
 */
static final int DEFAULT_INITIAL_CAPACITY = 16;

    int capacity = 1;
    while (capacity < initialCapacity)
        capacity <<= 1;

Тем не менее, в Hashtable я видел ниже коды?

table = new Entry[initialCapacity];

public Hashtable() {
    this(11, 0.75f);
}

поэтому мой вопрос: почему hashMap требует степени 2 в качестве начальной емкости? и в то время как хэш-таблица выбирает 11 в качестве начальной емкости по умолчанию? Я предполагаю, что это не имеет ничего общего с тем, что hashtable является потокобезопасным и не допускает нулевой ключ или значения.

Спасибо.

Ответы на вопрос(4)

Ваш ответ на вопрос