随机初始化JAVA中的BitSet

use*_*ser 6 java random

我有BitSet,必须随机初始化.有没有办法做到这一点?

提前致谢.

Fed*_*kov 8

只需通过BitSet并调用Random类的nextBoolean().


fin*_*nnw 5

如果您使用的是Java 7,则可以初始化随机字节数组,Random.nextBytes(byte[])然后使用静态BitSet.valueOf(byte[])方法BitSet从同一个字节数组创建一个.

Random rnd = new Random();
// ...
byte[] randomBytes = new byte[NUM_BYTES];
rnd.nextBytes(randomBytes);
return BitSet.valueOf(randomBytes);
Run Code Online (Sandbox Code Playgroud)

或者如果你想要比特01比特不同于50:50,请查看我的一个旧的SO问题.