-1

这是我的问题,因为我正在编写比以前更高级的 Java。所以今天我真的需要你的帮助!砍掉 a 时如何设置限制HashMap?我已经尝试了一些代码来限制一个。我的问题是我想要一个来自 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

if list is null then you need to put check on it like

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

i hope this is what you looking for

于 2012-10-13T01:14:04.097 回答
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 回答