В Java (но аналогично и в PHP) реализация ArrayDeque всегда имеет емкость, выраженную в степени 2:
http://hg.openjdk .java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/util/ArrayDeque.java#l126
Для HashMap этот выбор очевиден — иметь равномерное распределение элементов на основе урезанного 32-битного хеша. Но Deque вставляет/удаляет элементы последовательно.
Кроме того, ArrayList не ограничивает свою емкость степенью двойки, а просто обеспечивает ее соответствие наименьшее количество элементов.
Итак, почему реализация Deque требует, чтобы ее емкость была степенью 2?< /п>
Подробнее здесь: https://stackoverflow.com/questions/567 ... wer-of-two
Почему емкость Deque (ArrayDeque) равна степени двойки? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Std: Переместите std :: string из std :: deque then std :: deque :: pop_front?
Anonymous » » в форуме C++ - 0 Ответы
- 66 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Std: Переместите std :: string из std :: deque then std :: deque :: pop_front?
Anonymous » » в форуме C++ - 0 Ответы
- 33 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Нужно ли мне беспокоиться о текстурах, не имеющих степени двойки, в API 16+?
Anonymous » » в форуме Android - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-