Collection, Iterator
迭代器用法
对于类型为 C 的集合 c
c.into_iter()提供Iterator并消耗掉 c,需要 C 实现IntoIterator;如果 c 类型是Copy,调用(&c).into_iter()不会消耗 cc.iter()提供借用类型的迭代器,不消耗 cc.iter_mut()提供可变借用类型的迭代器
对于迭代器 i
i.next()提供 c 的下一个元素的Some(x),如果迭代完毕则为None
对于循环
for x in c {}调用c.into_iter()并循环直至为None
迭代器兼容
let c = other_iter.collect::<C<_>>从迭代器类型转化为 C 类型
支持在集合上的 for 循环
impl IntoIterator for Collection<T> {}impl IntoIterator for &Collection<T> {}impl IntoIterator for &mut Collection<T> {}
支持其它迭代器转化为该类型集合
impl FromIterator for Collection<T> {}
在迭代器上的操作
(1..10).map(f).collect()names.iter().filter(|x| x.starts_with("A"))