2010-05-26 1 views
4

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

+0

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

ответ

0

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

0

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

+0

INT НУМС [] = {2, 1} , Когда arrayPos равно 0, вы устанавливаете 2 (0 + 2). Когда arrayPos равно 1, вы снова устанавливаете 2 (1 + 1). –

4

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

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

BitSet bitSet = new BitSet(); 
int[] setOfInts = new int[] { /* Your array here */ }; 
for (int n : setOfInts) { 
    bitSet.set(n); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^