java从自身调用方法或函数?
我无法理解这将如何工作,因为printAll是从自身调用的,并在for循环中调用,所以这个函数最终将如何到达。当我们从for循环调用printAll时,它将继续运行并再次启动该方法而不结束它,然后再次转到for循环并调用printAll方法而不结束它,并且它将继续执行此操作,因此有人可以解释此功能是如何工作的。因为我无法理解这种现象
private void printAll(Integer u, Integer d, List<Integer> savearray) {
if (u.equals(d)) {
this.saveinlist = new ArrayList<Integer>(savearray);
return ;
}
for (Integer i : adjList[u]) {
savearray.add(i);
printAll(i, d, savearray);
savearray.remove(i);
}
}
# 1 楼答案
这是一种递归方法。在递归方法中有两部分。 1.基本条件 2.递归部分
基本条件是我们想要停止这个递归调用的时间。 在递归部分,它用一些参数称之为self。因为我们必须使用相同的代码集才能得到结果
https://www.geeksforgeeks.org/recursion/如果您了解更多信息,请转到此链接