如果需要保证生成的随机字符串不重复,可以使用 UUID 或者 Snowflake 算法等更加复杂的算法或者数据结构来实现。
其中,UUID(Universally Unique Identifier)是一种由标准化组织定义的用于标识信息的方法。它可以保证在全球范围内唯一性,通常由 32 个十六进制数字组成,总共有 $16^{32}$ 种可能性,即 3.4 x $10^{38}$ 种。
Java 中可以通过 `java.util.UUID` 类来生成 UUID,示例代码如下:
```java
import java.util.UUID;
public class RandomStringGenerator {
public static void main(String[] args) {
int count = 1000000;
HashSet set = new HashSet<>(count);
for (int i = 0; i < count; i++) {
String uuid = UUID.randomUUID().toString();
set.add(uuid);
}
System.out.println("Generated " + set.size() + " unique strings.");
}
}
```
这段代码会生成 100 万个不重复的 UUID,并输出实际生成的不重复字符串数量。