如何从Java中的字符串集合生成随机字符串?

时间:2013-08-25 15:14:41

标签: java string button

假设我有10个名字的集合。在单击按钮时,程序应该从该集合中生成随机名称。它是如何实现的?

3 个答案:

答案 0 :(得分:4)

假设您有一个字符串集合(List):

List<String> list;

然后得到一个随机的:

Collections.shuffle(list);
String random = list.get(0);

实际上你可以使用混洗列表中的任何元素,但第一个(.get(0))似乎是最简单的。

答案 1 :(得分:1)

您可以尝试类似

的内容
list.get((int) (Math.random() * list.size()))

如果您没有List,但是其他类型的集合不支持索引,您仍然可以使用类似的东西:

new ArrayList<>(col).get((int) (Math.random() * col.size()))

答案 2 :(得分:0)

  

假设我有10个名字的集合。

String[] names = new String[10];
// Make sure you init the array
  

点击一个按钮,程序应该生成一个随机名称   来自那个系列。

我假设通过从该集合中生成一个随机名称,您的意思是从该集合中选择一个随机名称。

private String onButtonClicked() {
return names[getRandomNumber(0, names.length - 1);];

}

private static int getRandomNumber(int begin, int end) {
  Random generator = new Random();
  return generator.nextInt(end - begin + 1) + begin;
}

我希望有所帮助。