当前位置:首页 > java基础 > 正文内容

按权重随机排序

淙嶙7年前 (2019-02-02)java基础3007

按权重随机排序 方案1,将list中每个实体的权重先取个随机值,然后在按随机后的权重排序。

public void sortList(List<Entity> list) {
        if(list == null){
            return;
        }
        list.forEach((Entity item) -> item.setWeight(random.nextInt(getWeight(item))));
        Collections.sort(list,(Entity item1,Entity item2) -> getWeight(item2)- getWeight(item1));
    }

        private int getWeight(Entity item) {
        Integer weight = item.getWeight();
        weight = weight==null ? 0 : weight;
        return weight;
    }

相关文章

深入分析Synchronized原理

深入分析Synchronized原理

https://www.cnblogs.com/aspirant/p/11470858.html...

JAVA中SPI机制

JAVA中SPI机制

SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架和替换组件。 整体机制图如下: 调用方->标准...

触发JVM进行Full GC的情况及应对策略(转)

触发JVM进行Full GC的情况及应对策略(转)

堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。