6

我在我的 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

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

谢谢 !

4

1 回答 1

14

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

这里有一些背景:

于 2013-04-13T12:12:34.283 回答