gpt4 book ai didi

mysql - 如何在 Scala 中生成大量唯一的随机字符串

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:26 25 4
gpt4 key购买 nike

我想生成很多随机字符串,这些字符串彼此唯一且在 MySQL 中唯一,并指定生成的数量,例如 10,000。

我可以确保每次生成的字符串中的字符串都是唯一的,只需检查 List[String] 是否包含每次生成的字符串。
但我不知道如何确保它在 MySQL 中是唯一的,我已经在 MySQL 中设置了唯一索引
ALTER TABLE Code ADD UNIQUE INDEX `codeUnique` (`code`);

但是如果唯一保证是在向MySQL插入数据时,插入会失败。
而如果每次insert时都检查insert failure,那么在生成的数量很大的情况下,生成的时间会非常非常长。

最佳答案

使用 List.fillrandomUUID 作为@Sudhir 注释:

scala> List.fill(10000)(java.util.UUID.randomUUID.toString)
res0: List[String] = List(
3c789851-975c-499d-8b0b-5bc60dee7497,
9511fb41-a42e-47d8-a5f3-ba1a6f3847f2,
61263421-59de-4538-87c6-eb98ccf1e19d,
...)

您可以通过将其转换为集合并检查大小来仔细检查它们是否唯一:

scala> List.fill(10000)(randomUUID.toString).toSet.size
res1: Int = 10000

关于mysql - 如何在 Scala 中生成大量唯一的随机字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37063768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com