迭代器与Vector
来源:7-3 相邻结点迭代器
慕勒9548534
2019-07-25
public Iterable<Integer> adj(int v) {
assert v >= 0 && v < n;
Vector<Integer> adjV = new Vector<Integer>();
for(int i = 0 ; i < n ; i ++ )
if( g[v][i] )
adjV.add(i);
return adjV;
}
--------------------------------------------------
public Vector<Integer> adj(int v) {
assert v >= 0 && v < n;
Vector<Integer> adjV = new Vector<Integer>();
for(int i = 0 ; i < n ; i ++ )
if( g[v][i] )
adjV.add(i);
return adjV;
}
bobo老师 在图的邻边遍历的方法中(java版)中,遍历方法为什么选择返回的是迭代器 返回一个vector集合不可以么,即上面第二段代码所示。
写回答
1回答
-
liuyubobobo
2019-07-25
可以:)
返回迭代器的意义,是隐藏实现细节。用户不需要知道内部实现是用Vector还是ArrayList还是LinkedList甚至是TreeSet或者是HashSet,用户只需要知道它是可迭代的,然后能够迭代其中的元素,就够了:)
继续加油!:)
00
相似问题