我想知道哪种方法在性能和最佳实践方面是正确的。
我有一系列网址,我正在抓取这些网页的内容。我有一个单独的类来处理刮擦。
目前我将数组列表传递给类,然后该类循环遍历数组内容,为每个数组抓取内容。我相信这是最好的方式。
我想到的另一种方法是遍历数组,我会将每个URL传递给类。这似乎对我来说会慢一些,但我不确定。
如果这两种方法都可行,那么他们的专业和骗局是什么?
答案 0 :(得分:5)
我建议你做你认为最清楚,最简单的事情。
传递阵列的速度可能略微快,可能会节省几纳秒,但除非您所做的事情只有几纳秒,否则你很可能无法区分它。 / p>
答案 1 :(得分:1)
从技术上讲,由于每页方法调用的额外开销(假设这是你正在做的事情),将每个项目传递给类会更慢:
URLProcessor up = new URLProcessor();
for(String url: URLs) {
up.process(url); // method call for each URL
}
而不是:
up.process(URLs); // a single method call
然而,除非该方法被调用数百万次,否则很可能不会以明显的方式影响运行速度。程序中发生的重量级任务要远远多于此。