for(int i=0; i<len ;i++ ){
Set<Integer> fileTerm = new HashSet<Integer>();
....
}
这个集合对于每次迭代都会很大
下一个方法是我们将创建函数放在循环之外并每次都清除
Set<Integer> fileTerm = new HashSet<Integer>();
for(int i=0; i<len ;i++ ){
....
fileTerm.clear();
}
最佳答案
创建新集合和通过清除重用旧集合之间的主要区别在于,清除不会将哈希表容量减少回初始设置。就您而言,这可能是一件好事,但节省的费用却微乎其微。您可能在该循环中做了足够的工作,这将不会被注意到。
另一方面,每次创建一个新集合会使您的代码更加健壮并且更易于推理。如果您引入了 continue
语句,而忘记在其之前执行 clear()
,那么您的程序就会损坏。
关于java - 为了节省内存并在java中快速运行,我应该使用哪种方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23116634/