【发布时间】:2013-01-11 05:12:03
【问题描述】:
我有一个名为 lines 的 List<String> 和一个名为 voc 的巨大 (~3G) Set<String>。我需要从lines 中找到voc 中的所有行。这种多线程方式可以吗?
目前我有这个简单的代码:
for(String line: lines) {
if (voc.contains(line)) {
// Great!!
}
}
有没有办法同时搜索几行?可能有现成的解决方案吗?
PS:我正在使用javolution.util.FastMap,因为它在填充时表现更好。
【问题讨论】:
-
目前大约 50000 行在 1 秒内被搜索到。 vox 是一个集合,而不是一个列表。
-
我相信@threadswarm 提供了一个很好的答案。你应该接受他的回答。
标签: java multithreading collections