我似乎无法理解如何实现这个功能。原型(prototype)如下:
public static <K> K nthGet (Map<K,K> m, K k, int n);
它应该做的是获取一个映射 m,并返回该映射中从 k 开始的第 n 个键。因此,如果 n 为 3,则返回 m.get(m.get(m.get(k)))。
我有一种感觉,我必须使用对 nthGet 的递归调用来从 n 返回键的最终值,但我不太确定。
最佳答案
你可以简单地循环n次:
for (int i = 0; i < n; i++) {
k = m.get(k);
}
return k;
如果映射中不存在某个值作为键,则可能返回 null。
关于java - 第 n 次调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762165/