将向量(以及其他集合类型)表示为Iterator
是否准确?
例如,我可以用以下方式循环一个向量,因为它实现了Iterator
特征(据我所知):
let v = vec![1, 2, 3, 4, 5];
for x in &v {
println!("{}", x);
}
然而,如果我想使用属于Iterator
特征的函数(比如fold
、map
或filter
),为什么我必须首先对该向量调用iter()
?
我的另一个 idea 是,向量可以转换成Iterator
,在这种情况下,上面的语法更有意义.