Ho BitSet che deve essere inizializzato in modo casuale. C'è qualche metodo per farlo?Inizializza in modo casuale BitSet in JAVA
Grazie in anticipo.
Ho BitSet che deve essere inizializzato in modo casuale. C'è qualche metodo per farlo?Inizializza in modo casuale BitSet in JAVA
Grazie in anticipo.
Basta passare attraverso BitSet e chiamare nextBoolean() della classe Random.
Non esiste un tale costruttore. Quello che dovresti fare è creare un BitSet e poi in un ciclo impostare tutti i bit su valori casuali.
Se si utilizza Java 7, è possibile inizializzare un casuale byte array con Random.nextBytes(byte[])
quindi utilizzare il metodo statico BitSet.valueOf(byte[])
per creare un BitSet
dallo stesso array di byte.
Random rnd = new Random();
// ...
byte[] randomBytes = new byte[NUM_BYTES];
rnd.nextBytes(randomBytes);
return BitSet.valueOf(randomBytes);
Oppure, se si desidera che la percentuale di 0
vs. 1
bit di essere qualcosa di diverso da 50:50, il check out an old SO question of mine.
L'impostazione di tutti i bit di un vettore illimitato di bit richiederà un po 'di tempo ... potrebbe valere la pena di richiamare esplicitamente che l'OP dovrà determinare quanti bit impostare. – yshavit
Sì, presupponevo un BitSet di lunghezza fissa. – Thilo