如何将迭代器推入现有的向量(或任何其他集合)?

29

在查看 Rust 0.12 的文档时,我发现可以通过下面的方法将多个值推入到已经存在的Vec中:

fn push_all(&mut self, other: &[T])

然而,如果我有一个迭代器,我认为使用 vector.push_all(it.collect().as_ref()) 不是很高效。是否有更高效的方法?

1个回答

47

您可以使用Vecextend方法extend接受任何实现IntoIterator(包括所有迭代器类型)的类型的值,并通过从迭代器返回的所有元素扩展Vec

vector.extend(it)

由于extend属于Extend特质,因此它也适用于许多其他集合类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接