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.
If you are using Java 7, you can initialize a random byte array with
Random.nextBytes(byte[])
then use the staticBitSet.valueOf(byte[])
method to create aBitSet
from the same byte array.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.
Just go through BitSet and call nextBoolean() of the Random class.