public class RandomHelloworld { public static void main(String[] args) { WeightObj a = new WeightObj("a", 10); WeightObj b = new WeightObj("b", 20); WeightObj c = new WeightObj("c", 30); WeightObj d = new WeightObj("d", 40); List list = new ArrayList(); list.add(a); list.add(b); list.add(c); list.add(d); for(int i =0;i<100;i++){ WeightObj weightObj = randomKey(list); System.out.println(weightObj.getName()); } } public static WeightObj randomKey(List<WeightObj> list) { //按照权重排序 Collections.sort(list, new Comparator<WeightObj>() { @Override public int compare(WeightObj o1, WeightObj o2) { if (o1.getWeight() < o2.getWeight()) { return -1; } else if (o1.getWeight() > o2.getWeight(
java权重算法
最新推荐文章于 2024-08-16 09:56:07 发布
这篇博客介绍了一个使用Java实现的权重随机选择算法。通过创建`WeightObj`类来存储名称和权重,然后利用`Collections.sort()`进行权重排序。接着,计算权重总和,生成随机数并遍历列表,根据随机数和权重值确定目标对象。最终,该算法可以在给定权重的列表中按概率随机选取元素。
摘要由CSDN通过智能技术生成