用于检查 100 万个生成字符串的唯一性的单元测试

Unit test to check uniqueness of 1 million generated strings

我想为

编写单元测试
  1. 浏览包含 100 万个唯一随机生成字符串的列表。

  2. 确保每个号码 100% 唯一且没有重复。

检查和比较没有重复项的最佳方法是什么?

您可以使用 LINQ Distinct() method. It is likely to use hashing, and be close in performance to anything hand rolled. Some information on performance here.

如果 objective 是最佳性能,一旦构建列表,排序列表并检查重复项。

当您提到 "unit test," 时,您通常指的是您将 运行 定期进行的测试,以确保您的代码即使在您更改了其中一些代码后仍能继续正常工作。您在这个问题中要求的似乎更多是验证某些字符串集实际上是唯一的,而不是生成它们的代码正确确保唯一性。从编程的角度来看更好的是单元测试,它验证确保唯一性的代码是否正常工作。这可能应该是一种方法,比方说,wouldBeUniqueInSet(String newString, Set<String> existingSet) 为了测试该方法是否正常工作,您可能希望 运行 它带有一个已经在集合中的字符串并期望它到 return false,并使用一个不在集合中的集合,并期望它成为 return true。这些是我们通常使用的术语意义上的单元测试。