//AdvertPushDTO为业务对象,getWeight()获取权重值
private AdvertPushDTO weightRamdom(List<AdvertPushDTO> list){
int weightSum = 0;
for (AdvertPushDTO dto : list) {
weightSum += dto.getWeight();
}
if (weightSum <= 0) {
System.err.println("错误: weightSum=" + weightSum);
return null;
}
Integer n = new Random().nextInt(weightSum); // n的值为 [0, weightSum)
Integer m = 0;
for (AdvertPushDTO dto : list) {
if (m <= n && n < m + dto.getWeight()) {
return dto; //返回结果
}
m += dto.getWeight();
}
return null;
}
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
创新互联建站专注于企业网络营销推广、网站重做改版、松北网站定制设计、自适应品牌网站建设、HTML5、商城系统网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为松北等各大城市提供网站开发制作服务。
文章题目:Java权重随机算法,根据权重随机获取一个业务对象-创新互联
转载来源:https://www.cdcxhl.com/article44/ccsdhe.html
成都网站建设公司_创新互联,为您提供静态网站、网站维护、App开发、电子商务、外贸网站建设、企业建站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联