首页
壁纸
友链
关于
留言
Search
1
利用宝塔面板部署Typecho博客系统,并搭配Joe主题使用!
101 阅读
2
使用CloudFlare搭建邮局,无限邮箱!
100 阅读
3
甲骨文云Ubantu开放端口
89 阅读
4
VPS常用脚本整理
87 阅读
5
谷歌团队盘申请 无限容量?
51 阅读
默认分类
VPS折腾
JAVA
登录
Search
标签搜索
VPS折腾
JAVA
老鱼
累计撰写
8
篇文章
累计收到
3
条评论
首页
栏目
默认分类
VPS折腾
JAVA
页面
壁纸
友链
关于
留言
搜索到
1
篇与
的结果
2022-11-16
Java实现简单的权重抽奖
/** * 根据权重获取奖励 * * @param awardMap * @return key:奖励 value:权重 * @param <T> */ public static <T> T getRandomValue(Map<T, Integer> awardMap) { // 获取权重和 int totalWeight = awardMap.values().stream().mapToInt(Integer::intValue).sum(); // 生成一个随机数 int randomNum = new Random().nextInt(totalWeight); int prev = 0; for (Map.Entry<T, Integer> entry : awardMap.entrySet()) { if (randomNum < prev + entry.getValue()) { return entry.getKey(); } prev += entry.getValue(); } return null; }经测试,运行100w次仅耗时121毫秒!
2022年11月16日
31 阅读
0 评论
0 点赞