Tengo BitSet que debe inicializarse aleatoriamente. ¿Hay algún método para hacer eso?Inicializar al azar BitSet en JAVA
Gracias de antemano.
Tengo BitSet que debe inicializarse aleatoriamente. ¿Hay algún método para hacer eso?Inicializar al azar BitSet en JAVA
Gracias de antemano.
Simplemente vaya a través de BitSet y llame a nextBoolean() de la clase Aleatoria.
No existe tal constructor. Lo que tendría que hacer es crear un BitSet y luego en un bucle establecer todos los bits en valores aleatorios.
Si está utilizando Java 7, se puede inicializar un byte aleatorio matriz con Random.nextBytes(byte[])
a continuación, utilizar el método estático BitSet.valueOf(byte[])
para crear un BitSet
de la misma matriz de bytes.
Random rnd = new Random();
// ...
byte[] randomBytes = new byte[NUM_BYTES];
rnd.nextBytes(randomBytes);
return BitSet.valueOf(randomBytes);
O si desea que la proporción de 0
vs 1
bits a ser algo distinto de 50:50, echa un vistazo a an old SO question of mine.
Establecer todos los bits de un vector ilimitado de bits va a llevar un tiempo ... podría valer la pena declarar explícitamente que el OP tendrá que determinar cuántos bits establecer. – yshavit
Sí, estaba asumiendo un BitSet de longitud fija. – Thilo