美文网首页
Java权重算法

Java权重算法

作者: 茶瓯 | 来源:发表于2018-04-26 19:43 被阅读0次
private T randomKey(List<T> list,Random random){
   //按照权重排序
    Collections.sort(list,new Comparator<T>() {
         @Override
         public int compare(T o1, T o2) {
            if(o1.getWeight()<o2.getWeight()){
               return -1;
             }else if(o1.getWeight()>o2.getWeight()){
               return 1;
             }
             return 0;
        }
     });
   int sum = 0;
   for(T object:list){
       sum += object.getWeight();
    }
    int randomNumber = random.nextInt(sum);
    T target = null;
    for(T object:list){
         randomNumber -= object.getWeight();
        if(randomNumber <=0){
          target = object;
          break;
        }
    }
    return target;
}

相关文章

  • Java权重算法

  • java 权重随机算法实现

  • 京东搜索权重金字塔原理

    京东搜索权重模型搭建从底层算法到高层算法,通过大数据部门获取商家信息,建立权重模型然后通过权重模型区分权重因子大小...

  • Java权重分配的实现算法

    业务上需要一个服务,调用5个第三方,但是调用的次数是按照权重配比去分配的。 配置: Map flowAllot=...

  • Nginx中的负载均衡算法

    负载均衡算法 轮询(Round Robin)nginx默认负载均衡算法,可以配合权重使用,默认情况权重是1。ups...

  • 为啥App知道想买啥?

    分享一个非常初级的内容标签权重算法: 兴趣标签( 美女 )权重 = 行为权重 x 访问时长 x 衰减因子 行为权重...

  • LinearLayout权重算法

    插曲 昨天去面试,首先要在网上笔试,其中有一道题就是view权重分配的算法。因为权重用得比较少,且一般都是设置0d...

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • 《算法图解》笔记 iii

    迪克斯特拉算法 在图中,搜索最小的“段”数可以用广度优先算法,这就相当于默认每条边的权重是相同的,如果每条边的权重...

  • dubbo技术内幕六 RoundRobinLoadBalance

    RoundRobinLoadBalance是dubbo里面提供的按照权重进行轮询的负载均衡算法,整个算法设计的非常...

网友评论

      本文标题:Java权重算法

      本文链接:https://www.haomeiwen.com/subject/syimlftx.html