gpt4 book ai didi

java - 连接两个集合并获取随机元素

转载 作者:行者123 更新时间:2023-12-01 14:50:04 25 4
gpt4 key购买 nike

我需要加入两个Collection<String> ,获取 n 个随机元素并将它们从存储它们的原始集合中删除。

为了加入集合,我考虑迭代它们并以以下方式存储在自定义 map 结构中:

  1. 相同的 key 存储了 n 次
  2. 获取原始集合。

有没有简单的方法可以做到这一点?

你能帮我吗?

最佳答案

这个怎么样:

Collection<String> collection1 = new ArrayList<String>();
Collection<String> collection2 = new ArrayList<String>();

List<String> allElements = new ArrayList<String>(collection1);
allElements.addAll(collection2);
Collections.shuffle(allElements);

Random random = new Random();
int n = 10;
List<String> randomResults = new ArrayList<String>(n);
for (int i = 0; i < n && !allElements.isEmpty(); i++) {
String randomElement = allElements.remove(random.nextInt(allElements.size()));
randomResults.add(randomElement);
}

collection1.removeAll(randomResults);
collection2.removeAll(randomResults);

关于java - 连接两个集合并获取随机元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981839/

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