【发布时间】:2018-11-28 13:54:07
【问题描述】:
我有一个 HashMap 60k 键/值对。
我有 100 个字符串,在这 100 个字符串中,有一个子字符串存在于 HashMap 中。
我将不得不重复这个过程一千次。有没有有效的方法来做到这一点?
假设,哈希包含类似:
journal of America、rev su arabia、comutational journal等。
还有这样的字符串:
发表于 rev su arabia
发布事件发生在
计算期刊 230:34
第一个和第三个字符串包含哈希中的键/值,我需要找出那些。
代码(效率不高)
private String contains(String candidateLine)
{
Iterator<String> it = journalName.iterator();
while (it.hasNext())
{
String journalName = it.next();
if (candidateLine.contains(journalName))
return journalName;
}
return null;
}
请提出建议。
【问题讨论】:
-
那些在我看来不像哈希。您的意思是说您将这些值存储在
HashMap中? -
是的,它的哈希图,更正了问题
-
不是解决方案,但对于
journalName,至少LinkedHashMap在我的经验中比普通的HashMap更有效 -
如何使用linkedhashmap有效地搜索子字符串?
-
感谢您的接受!
标签: java loops optimization hashmap