gpt4 book ai didi

java - Java字符串相等性检查性能查询

转载 作者:行者123 更新时间:2023-12-01 17:31:06 25 4
gpt4 key购买 nike

我有一组非常大的字符串 URL 模式,例如 {http://www.imdb.com, http://www.amazon.com ,...} 在列表中。

我得到的输入网址是这样的:

http://www.imdb.com/title/tt1409024/

就我的应用程序而言,此 URL 实际上是由 http://www.imdb.com 组成的,因此两者相等应该为 true

为了实现这一点,我可以从输入 URL 中提取基本 URL:

http://www.imdb.com/title/tt1409024/ => http://www.imdb.com

现在,我需要将提取的 URL 与 URL 主列表进行比较,如果找到匹配,则将基本 URL 存储在数据库中。因此,本质上,对于每个输入(基本)URL,我都会在主列表中查找提取的 URL 的匹配项,如果找到匹配项,我会将输入(基本)URL 存储在数据库中。

为了实现相等/匹配逻辑,我有两种可能的解决方案。请权衡一下哪个更好:

  1. 将 URL 主列表放入数组列表中,并使用数组列表 contains 方法
  2. 将主列表放入数据库,并使用查询来检查输入网址

谁能告诉我哪一个在性能方面会更好?

最佳答案

您的建议都不合适。对于 ArrayList,您必须在列表的一半(平均)中线性搜索您想要检查的每个 URL。

对于数据库(大概在磁盘上?),每个查询都会产生潜在昂贵的数据库查找。

1000 个 URL 模式并不是很多。将列表保留在内存中并使用适当的数据结构 - a HashSet会做得很好。

关于java - Java字符串相等性检查性能查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10779213/

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