java - 生成 5 个随机字符串并将它们添加到 Java 中的 Set

标签 java string random set

我是 Java 的初学者,有以下问题。

如何生成 5 个随机字符串并将它们添加到 Set ?

最佳答案

首先,让我们创建集合:

Set<String> set = new HashSet<>();

现在,让我们生成 5 个随机字符串。有很多方法可以做到这一点,here是关于它的答案。但是由于您没有要求特定的长度,让我们继续:
String randomStr = Long.toHexString(Double.doubleToLongBits(Math.random()));

现在,让我们重复随机生成 5 次:
for (int i = 0; i < 5; i++) {
    set.add(Long.toHexString(Double.doubleToLongBits(Math.random())));
}

现在,问题是这并不能保证集合会有 5 个随机字符串,因为我们可能有类似的字符串。为了确保这一点,我们应该这样做:
while (set.size() < 5) {
    set.add(Long.toHexString(Double.doubleToLongBits(Math.random())));
}

上面的代码将继续生成随机字符串,直到该集合至少包含 5 个。我不会检查它是否已经包含该字符串,因为根据定义,集合 不包含重复元素 .因此,添加副本不会增加大小。

关于java - 生成 5 个随机字符串并将它们添加到 Java 中的 Set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60961114/

相关文章:

java - AsyncTask 中的 ProgressDialog 未关闭

java - Java 中可配置的枚举

java - 用字符串替换字符串中的特定字符?

java - 排序列表 <> 未按预期工作

java - 如何在 Java 中比较字符串?

Javascript 随机 YouTube 视频自动播放

Java - 填充字节数组的特定索引

string - 如何根据标记将字符串分解为数组?

c++ - 为什么 rand 在 C++ 中每次都产生相同的值?

java - java中随机函数的最大范围