gpt4 book ai didi

java - 创建具有给定分布的无限迭代器

转载 作者:行者123 更新时间:2023-11-30 06:39:13 24 4
gpt4 key购买 nike

给定一个 java.util.Collection 什么是创建无限的 java.util.Iterator 的最简单方法,它返回那些元素,以便它们根据给定分布(org.apache.commons.math.distribution)?

最佳答案

List<Object> l = new ArrayList<Object>(coll);
Iterator<Object> i = new Iterator<Object>() {
public boolean hasNext() { return true; }

public Object next() {
return coll.get(distribution.nextInt(0, l.size());
}
}

那么您的问题是如何将 apache 库中的 Distribution 类转换为实现 nextInt 方法。我不得不说,对我来说,如何从 Distribution 界面实际执行此操作远非显而易见。

我能想到的一种(有点垃圾)方法是使用实​​际分布定义的概率生成一个 EmpiricalDistribution(在 random 包中)数据集,然后使用经验分布作为分布(上图)

关于java - 创建具有给定分布的无限迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1300062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com