gpt4 book ai didi

java - 如何在大列表中搜索子字符串 - Java

转载 作者:行者123 更新时间:2023-12-02 12:46:02 26 4
gpt4 key购买 nike

我有一个大list<String>大约有 50,000 条记录。我想要一种有效的方法来搜索特定的 subString在那List并获取Strings其中包含 subString .

到目前为止我的代码是这样的:

List<String> result = new ArrayList<>();
if (aCondition) {
for (String file : arg) {
if (file.toLowerCase().contains(tag.toLowerCase())) {
result.add(file);
}
}
}
return result;

最佳答案

这取决于您所说的“有效”的含义。

如果您想达到“最小”CPU 使用率,那么您无能为力:您必须迭代该列表;并比较所有条目。唯一明显要做的事情是:为每个循环体调用tag.toLowerCase()。只需在进入循环之前一次计算该值即可!

如果您关心在更短的时间内获得结果,答案很简单:使用多个线程,并让每个线程搜索整个列表的“切片”(当然,这可能会很快变得复杂,因为您现在必须保持秩序和其他微妙的事情)。

最后:您可能想研究一下 ElasticSearch 等工具- 因为有各种产品旨在完全做到这一点:搜索大量文本。

关于java - 如何在大列表<String>中搜索子字符串 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44777949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com