Как представить целочисленный массив с помощью java.util.BitSet? - PullRequest
4 голосов
/ 26 мая 2010

Мне нужно представить массив целых чисел, используя BitSet. Может кто-нибудь объяснить мне логика требуется для этого?

Ответы [ 3 ]

4 голосов
/ 26 мая 2010

Вы можете представить набор целых чисел, используя BitSet, но не произвольный массив. Вы потеряете информацию о заказе и повторениях.

По сути, установите n-й бит BitSet тогда и только тогда, когда n появится в вашем наборе целых чисел.

BitSet bitSet = new BitSet();
int[] setOfInts = new int[] { /* Your array here */ };
for (int n : setOfInts) {
   bitSet.set(n);
}
0 голосов
/ 26 мая 2010

Я думаю, что логика будет: Выполнить через целочисленный массив, проверить каждый бит и установить этот бит в наборе битов как bitset.set (array_pos + bit_pos)

0 голосов
/ 26 мая 2010

первая мысль:
используйте BigInteger и создайте его следующим образом: new BigInteger (int value, int base). Затем вы можете выполнить toString (), а затем создать BitSet, используя эту строку (однако, не знаете, как это сделать, не анализируя строку).
-
не прочитал это правильно. Этот метод помогает вам только создать массив BitSet, а не весь BitSet, который содержит весь массив.
Я не знаю, как сделать массив целых чисел в один бит. Я полагаю, вам понадобятся какие-то разделители, но как сделать хороший разделитель в двоичном виде - это хороший вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...