В чем причина метода BitSet size ()?

Есть ли вариант использования дляsize() метод наjava.util.BitSet класс?

Я имею в виду - JavaDoc четко говорит, что это зависит от реализации, он возвращает размер внутреннегоlong[] хранение в битах. Из того, что он говорит, можно сделать вывод, что вы не сможете установить бит с более высоким индексом, чемsize(), но это не так,BitSet может расти автоматически:

BitSet myBitSet = new BitSet();
System.out.println(myBitSet.size());    // prints "64"
myBitSet.set(768);
System.out.println(myBitSet.size());    // prints "832"

В каждой встрече сBitSet Я имел в своей жизни, я всегда хотел использоватьlength() так как этот возвращает логический размерBitSet:

BitSet myBitSet = new BitSet();
System.out.println(myBitSet.length());    // prints "0"
myBitSet.set(768);
System.out.println(myBitSet.length());    // prints "769"

Несмотря на то, что я программирую на Java в течение последних 6 лет, эти два метода всегда меня сильно смущают. Я часто смешиваю их и случайно использую неправильный, потому что в своей голове я думаю оBitSet как умныйSet<boolean> где бы я использовалsize().

Это как еслиArrayList былоlength() возвращая количество элементов иsize() возвращая размер базового массива.

Теперь есть ли вариант использования дляsize() метод мне не хватает? Это полезно в любом случае? Кто-нибудь когда-либо использовал это для чего-либо? Может ли это быть важно для какого-то ручного управления или чего-то подобного?

РЕДАКТИРОВАТЬ (после еще нескольких исследований)

Я реализовалBitSet была введена в Java 1.0, в то время как платформа Collections с большинством используемых нами классов была представлена в Java 1.2. Так что в принципе мне кажется, чтоsize() хранится по наследственным причинам, и в этом нет никакой реальной пользы. Новые классы Collection не имеют таких методов, в то время как некоторые из старых (Vectorнапример) сделать.

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

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