【发布时间】:2014-04-28 06:39:16
【问题描述】:
我有 java 对象 Map<Integer, SortedMap<Integer, Pair<Integer, String>>> 数据。我将此对象传递给递归方法以构建上述地图中每个键的对象。请看下面的例子。
例如,
<1 - <1, Pair<1, 'A'>>
<2 - <1, Pair<1, 'A'>>
<2, Pair<2, 'B'>>
我想检查上图的循环依赖。请看下面的例子。
<9994 - <1, Pair<9995, 'X'>>
<2, Pair<2, 'B'>>
<9995 - <1, Pair<9994, 'Y'>>
<2, Pair<2, 'B'>>
9994 以上包含 9995,9995 包含 9994。这是无效的,应该会导致程序出错。
谁能建议我执行此验证的最佳方法?
谢谢。
私有静态布尔验证( 地图>输入, 设置对象)抛出异常 { 布尔结果 = true; for (对 cal : input.values()) { if (!object.add(cal.left)) 返回假; 结果 = 验证(获取(cal.left),对象); } 返回结果; }
【问题讨论】: