从集合中选取随机元素
2022-08-31 06:10:00
如何从集合中选取随机元素?我对从Java中的HashSet或LinkedHashSet中选择随机元素特别感兴趣。也欢迎其他语言的解决方案。
如何从集合中选取随机元素?我对从Java中的HashSet或LinkedHashSet中选择随机元素特别感兴趣。也欢迎其他语言的解决方案。
int size = myHashSet.size();
int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than this
int i = 0;
for(Object obj : myhashSet)
{
if (i == item)
return obj;
i++;
}
一个有点相关的你知道吗:
java.util.Collections
中有一些有用的方法来洗牌整个集合:Collections.shuffle(List<?>)
和Collesits.shuffle(List<?> list,Random rnd)。