Java权重随机算法,根据权重随机获取一个业务对象-创新互联

//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。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设