我查看了许多类似的问题,但所给出的方法对于我要完成的任务来说速度过慢,或者是在测试部分匹配,而我不需要并且应该更慢。
我有两个填满字符串的大文件,我需要检查第一个列表中的每个字符串是否与第二个列表中的任何字符串相匹配。我不需要检查是否存在部分匹配,并且所有内容都应正确转义。
第二个字符串列表(要删除的字符串)包含160,000个字符串。我已将其加载到 List<String>
中,然后读取较大文件的每一行,并使用 List<String>.Any(line.contains)
进行测试。
即使只有第一个列表的一小部分(40k个字符串),这也需要很长时间,在我的快速开发计算机上可能超过20分钟。
我的问题在这里
当不需要部分匹配时,比较大量字符串列表与另一个更大的字符串列表时,是否有更有效的方法/最有效的方法是什么?