2011-12-19 15 views

答えて

8

BitSetを実行し、RandomクラスのnextBoolean()を呼び出します。

4

このようなコンストラクタはありません。あなたがしなければならないのは、BitSetを作成し、ループ内ですべてのビットをランダムな値に設定することです。

+0

制限のないビットベクトルのすべてのビットを設定するには時間がかかるでしょう... OPが設定するビット数を決定する必要があることを明示的に示す価値があります。 – yshavit

+0

はい、固定長のビットセットを想定していました。 – Thilo

5

は、Java 7を使用している場合は、同じバイト配列からBitSetを作成するために、静的BitSet.valueOf(byte[])メソッドを使用し、その後Random.nextBytes(byte[])とランダムバイト配列を初期化することができます。

Random rnd = new Random(); 
// ... 
byte[] randomBytes = new byte[NUM_BYTES]; 
rnd.nextBytes(randomBytes); 
return BitSet.valueOf(randomBytes); 

それとも、01ビットの割合が50:50以外の何かになりたい場合は、an old SO question of mineをチェックしてください。

関連する問題