arraylistにいくつかの値を追加したいのですが、ランダムなインデックスです。これは可能ですか?
2361 次
2 に答える
2
これを行うには、範囲を指定してMath.Randomを使用できます。ArrayListは動的に拡張される配列であるため、任意のインデックスに追加する必要はありません。つまり、特定のサイズを超えるインデックスを使用する場合は、サイズを変更する必要があります。これにより、インサートのコストが必要以上に高くなり、必要以上にメモリを消費します。あなたが言うだけであることがわかっているなら..100アイテムそれからちょうど1から100の間のランダムな値を選んでください。
編集:次のようにすると、ランダムは10進値を生成しません..次の範囲よりも1〜4の範囲が必要だと言うと、必要なものが得られます...
public int Rand(){
return ((int)(1+(Math.random()*4)));
}
于 2012-04-09T14:40:30.803 に答える
0
はい、可能です。のMath.random()
オーバーロードされたadd()
メソッドで使用できますArrayList
。
例えば:
arrayList.add(getRandomIndex(arrayList.size()),object);
また、getRandomIndex()メソッドは次のようになります。
public int getRandomIndex(int size){
return ((int)Math.random()*size)
}
于 2012-04-09T14:44:42.840 に答える