38

如何从 Java 列表中随机选择一个项目?例如我有

List<String> list = new ArrayList<String>();
list.add("One");
list.add("Two");

等等......如何使用

Random myRandomizer = new Random();
4

5 回答 5

103

像这样的东西?

Random randomizer = new Random();
String random = list.get(randomizer.nextInt(list.size()));
于 2012-09-19T02:06:27.473 回答
17

清洁代码:

List<String> list = new ArrayList<String>();
list.add("One");
list.add("Two");
String random = list.get(new Random().nextInt(list.size()));
于 2015-07-23T14:40:37.300 回答
2

简单而通用的解决方案,用于从您的集合中检索随机元素:

public static <T> T getRandomListElement(List<T> items) {
    return items.get(ThreadLocalRandom.current().nextInt(items.size()));
}
于 2020-04-04T21:11:52.713 回答
1

如果您使用 Kotlin 编码,最简单的方法是编写:

val randomElement = listName.shuffled()[0]

或者

val randomElement = listName.random()

我希望它会帮助你:)

于 2020-06-04T13:39:32.970 回答
0

对于 Kotlin,您可以使用

random()

在 kotlin.collections 中定义

例如,假设

val results = ArrayList<Result>() //Get the list from server or add something to the list
val myRandomItem = results.random()
于 2019-03-30T09:43:32.290 回答