-1

私は以前よりも少し高度な Java をプログラミングしているので、これは私の質問です。だから今日、私は実際にあなたからの助けが必要です!をロッピングするときに制限を設定する方法はHashMap? 制限を1つにするためにいくつかのコードを試しました。私の問題は、HashMap から Random エントリが必要なことですが、次のように Random 関数を使用すると:

Random rand = new Random();
int max = list.size();
int randomNumber = rand.nextInt(max);

そして問題は、時々「null」を返すことです。それから私はこれを試しました:

Iterator it = list.entrySet().iterator();
while (it.hasNext()) {
if(!stop)
    Map.Entry pairs = (Map.Entry)it.next();
    atm = pairs.getValue();
    it.remove();
    stop = true;
}

しかし、これは私のプログラムをクラッシュさせます。それで、これに制限を設定するより良い方法はありますか?

例を挙げてください。それが学習の最良の方法です。:)

4

2 に答える 2

0

ハッシュ マップからランダムなエントリが必要な場合は、次のワンライナーを試してください。

Map.Entry<K, V> entry = new ArrayList<Map.Entry<K, V>>(map.entrySet()).get(Math.random() * map.size());
于 2012-10-13T00:58:23.110 に答える
0

リストがnullの場合、次のようにチェックする必要があります

int max = null != list ? list.size() : 0;

これがあなたが探しているものであることを願っています

于 2012-10-13T01:14:04.097 に答える