我在我的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(使用前将#替换为@)