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

按权重随机排序

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

按权重随机排序 方案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;
    }

相关文章

JVM总结

JVM总结

花费了一周时间对深入理解Java虚拟机做了个回顾,对原来的知识做了个补充,直到慢慢的阅读中,才发现有好多东西已经忘了。把所阅读的通过一个思维导图做个了简单的总结,时间仓促,还有不全。待十一节后继续补充...

集合各实现类的底层实现原理(转)

集合各实现类的底层实现原理(转)

ArrayList实现原理要点概括 ArrayList是List接口的可变数组非同步实现,并允许包括null在内的所有元素。 底层使用数组实现 该集合是可变长度数组,数组扩容时,会将老数组中的元素重...

深入分析Synchronized原理

深入分析Synchronized原理

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

发表评论

访客

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