В соответствии с реализацией Sun Java, во время расширения ArrayList увеличивается до 3/2 своей первоначальной емкости, тогда как для HashMap скорость расширения равна двойному. Что является причиной этого?
В соответствии с реализацией, для HashMap емкость всегда должна быть в степени двух. Это может быть причиной поведения HashMap. Но в этом случае вопрос, для HashMap, почему емкость всегда должна быть в силе двух?