gpt4 book ai didi

java - 生成与集合中给定的任何一个不同的随机索引

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:29:22 25 4
gpt4 key购买 nike

我想生成一个从 0size - 1 的索引,统一但不同于给定集合 excluded 中的任何索引.

size 大约为 100。通常有 1、2 或 3 个 exluded 索引。 excluded 中的索引是唯一的且未排序。

理想情况下, header 将带有多个参数,可能是这样的:

int getRandomIndex(Random rand, int size, int... i)

或者,如果这个 ... 多参数很慢(是吗?)我们可以传递简单的 int[] excluded 数组或其他东西。

如何快速完成? getRandomIndex() 被调用了数百万次。

最佳答案

static int getRandomIndex(Random rand, int size, Integer... excludes) {
List<Integer> excludeList = Arrays.asList(excludes);
int number;
do {
number = rand.nextInt(size);
} while (excludeList.contains(number));

return number;
}

关于java - 生成与集合中给定的任何一个不同的随机索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19743858/

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