我有一个字符串数组String[] words和一个28000字单词列表.
我想检查字符串数组的任何成员是否在WordList中( word-list位于文本文件wordlist.txt中)。
在这方面,最有效的方法是什么?
发布于 2013-09-06 12:54:27
将字符串直接放置到HashSet<String>中,而不是数组中,并使用集合上的contains遍历文件以检查内容。您将不会改进O(1)访问。如果存在任何重复项,这也将模拟用于存储Strings的内存。
发布于 2013-09-06 13:02:00
您可以尝试数组(树)后缀算法,但是您需要实现,如下所示:
发布于 2013-09-06 13:03:11
步骤1:不要使用字符串数组。而不是使用HashSet。
Step2:将文件(即wordlist.txt)内容加载到另一个HashSet中
Step3:
Set<String> set1 = new HashSet<String>(); //Load the string array into set
Set<String> set2 = new HashSet<String>(); //load the file contents into set
for (String str : set1) {
for (String str2 : set2) {
if (str.equalsIgnoreCase(str2)) {
break;
}
}
}https://stackoverflow.com/questions/18658315
复制相似问题