添加到 hashmap 需要很长时间

2024-04-15

我在我的java程序中坚持了几行,这花费了太多时间(大约20秒),而且对我来说这似乎很奇怪。

这是线条

 Map<URL, Integer> res2 = new HashMap<>();
 for (URL url : res) {
     res2.put(url, null);
 }

其中 res 定义如下:

List<URL> res = new ArrayList<>();

在我的程序中,res.size() ~= 1500

您知道我的问题可能来自哪里吗?

Thanks !


The hashCode()的方法java.net.URL执行 DNS 解析。这URL类不适合在HashSet或作为键HashMap。使用字符串或java.net.URI.

这是一些背景:

  • Michael Scharf:java.net.URL.equals 和 hashCode 使(阻止)互联网连接...... http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html
  • Eishay Smith:Java 的 URL 小秘密 http://www.eishay.com/2008/04/javas-url-little-secret.html(RobAu 在对此答案的评论中链接到)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加到 hashmap 需要很长时间 的相关文章

随机推荐