实现一个根据权重获取随机物品的功能
//Object要返回的对象 Integer是自己的权重
private Object weightRamdom(HashMap<Object, Integer> map) {
int weightNum = 0;
for (Map.Entry<Object, Integer> entry : map.entrySet()) {
weightNum += entry.getValue();
}
Integer n = new Random().nextInt(weightNum );
Integer m = 0;
for (Map.Entry<Object, Integer> entry : map.entrySet()) {
if (m <= n && n < m + (int) entry.getValue()) {
return entry.getKey();
}
m += entry.getValue();
}
return null;
}