Мне нужно представлять массив целых чисел с помощью BitSet. Может ли кто-нибудь объяснить мне логику, необходимую для этого?Как представлять целочисленный массив с помощью java.util.BitSet?
ответ
подумал:
использовать BigInteger и создать его как: new BigInteger (int value, int base). Затем вы можете toString(), а затем создать BitSet, используя эту String (однако не знаете, как это сделать, не анализируя строку).
-
не читал это право. Этот метод поможет вам создать массив BitSet, а не весь BitSet, содержащий весь массив.
Я не знаю, как сделать массив целых чисел одним битом. Думаю, вам понадобятся какие-то демиметры, но как сделать хороший делиметр в двоичном коде - это хороший вопрос.
Я думаю, что логика будет: Run через целочисленный массив, проверить каждый бит и установить этот бит в BitSet как bitset.set (array_pos + bit_pos)
INT НУМС [] = {2, 1} , Когда arrayPos равно 0, вы устанавливаете 2 (0 + 2). Когда arrayPos равно 1, вы снова устанавливаете 2 (1 + 1). –
Вы можете представлять набор целых числа используя BitSet
, но не произвольный массив. Вы потеряете информацию о порядке и повторениях.
В принципе, установите n
-й бит BitSet
тогда и только тогда, когда в вашем наборе целых чисел появится n
.
BitSet bitSet = new BitSet();
int[] setOfInts = new int[] { /* Your array here */ };
for (int n : setOfInts) {
bitSet.set(n);
}
Я считаю, что логика будет: Выполнить через целочисленный массив, тестировать каждый бит, и установить этот бит в BitSet как bitset.set (array_pos + bit_pos) – InsertNickHere