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

按权重随机排序

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

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

相关文章

ArrayList简介

ArrayList简介

ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable,...

Thread join的原理

Thread join的原理

先写段都知道的代码,一个主类,两个线程类,保证线程的执行先后顺序,使用join方法。 package com.dl.study.m4; public class TestThread {...

java中HashMap的-Djdk.map.althashing.threshold

java中HashMap的-Djdk.map.althashing.threshold

1、参数jdk.map.althashing.threshold 使用方式:-Djdk.map.althashing.threshold=5 2、作用 当hash key 是String的时候,...

发表评论

访客

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