java - 从列表中获取随机字符串

标签 java arraylist random

我有一个 ArrayList,它是在 main 方法之外定义的,就在 StringRandomize 类中:

 public static ArrayList<String> countries = new ArrayList<String>();

我还初始化了一个随机对象。

 Random obj = new Random();

然后我将一些字符串添加到列表中:

    StringRandomize.countries.add("USA");
    StringRandomize.countries.add("GB");
    StringRandomize.countries.add("Germany");
    StringRandomize.countries.add("Austria");
    StringRandomize.countries.add("Romania");
    StringRandomize.countries.add("Moldova");
    StringRandomize.countries.add("Ukraine");

如何让这些字符串随机出现?我需要像“德国”、“摩尔多瓦”等输出。
我需要的正是输出中的字符串,而不是它们的 ID。 感谢您的帮助。

最佳答案

你可能想使用类似的东西:

countries.get(Math.abs(new Random().nextInt()) % countries.size());

或者,为了避免每次都创建一个新的 Random 对象,您可以使用同一个对象:

Random gen = new Random();
for (int i = 1; i < 10; i++) {
    System.out.println(countries.get(Math.abs(gen.nextInt()) % countries.size()));
}

关于java - 从列表中获取随机字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35373053/

相关文章:

java - 如何检查 Java 程序是否保持打开文件句柄?

java - 如何将 gradle ant java 任务转换为 kotlin

java - 黑莓中的弹跳城堡 aes 加密

java - ArrayList 排序无法正常工作

java - 如何将字符串数组的内容与字符串进行比较

java - Spark OutOfMemory 小文本数据错误

C#如何判断ArrayList是否包含具有特定属性的对象

java - 如何打印数组列表中的每个对象并正确计算它们的数量?

php - 以位为单位保护随机十六进制大小以防止暴力破解

java - Java的随机函数可以为零吗?