java – 添加到hashmap需要很长时间

前端之家收集整理的这篇文章主要介绍了java – 添加到hashmap需要很长时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的 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

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

谢谢 !

解决方法

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

这是一些背景知识:

> Michael Scharf: java.net.URL.equals and hashCode make (blocking) Internet connections….
> Eishay Smith: Java’s URL little secret(RobAu在对此答案的评论链接)

猜你在找的Java相关文章