В чем причина метода 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 где я'буду использовать.size()

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

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

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

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

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

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