I have BitSet which has to be initialized randomly. Is there any method to do that?
Thanks in advance.
I have BitSet which has to be initialized randomly. Is there any method to do that?
Thanks in advance.
Just go through BitSet and call nextBoolean() of the Random class.
If you are using Java 7, you can initialize a random byte array with Random.nextBytes(byte[])
then use the static BitSet.valueOf(byte[])
method to create a BitSet
from the same byte array.
Random rnd = new Random();
// ...
byte[] randomBytes = new byte[NUM_BYTES];
rnd.nextBytes(randomBytes);
return BitSet.valueOf(randomBytes);
Or if you want the proportion of 0
vs. 1
bits to be something other than 50:50, check out an old SO question of mine.
There is no such constructor. What you'd have to do is create a BitSet and then in a loop set all bits to random values.