Java权重随机算法,根据权重随机获取一个业务对象-创新互联
//AdvertPushDTO为业务对象,getWeight()获取权重值
private AdvertPushDTO weightRamdom(List 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权重随机算法,根据权重随机获取一个业务对象-创新互联
本文URL:http://cdiso.cn/article/ccsdhe.html