BitSet внутренне использует длинный массив размера 6.Как BitSet допускает длинный массив длиной 6?
Но он может содержать 2^31-1 бит.
длиной = 64 бит
6 тоскует = 64 * 6. Но гораздо меньше, чем 2^31-1. Пожалуйста, объясните этот трюк.
BitSet внутренне использует длинный массив размера 6.Как BitSet допускает длинный массив длиной 6?
Но он может содержать 2^31-1 бит.
длиной = 64 бит
6 тоскует = 64 * 6. Но гораздо меньше, чем 2^31-1. Пожалуйста, объясните этот трюк.
Внутренний массив, который сохраняет значения, при необходимости расширяется, как и для объектов ArrayList
. Поэтому ваше утверждение неверно.
Существует жесткий предел 2^31-1
(бит) для размера, но это только потому, что операции (set
, flip
и т.д.) принимают параметр индекса в качестве int
. Это, вероятно, достаточно большой для большинства случаев использования.