面试题答案
一键面试-
简述: 在Rust中,
Vec
(向量)在初始化时默认容量为0,随着元素的添加,当容量不足时会动态扩容。为了减少动态扩容带来的性能损耗,可以在初始化向量时根据预估的元素数量合理设置其容量。对于需要存储大约1000个i32
类型数字的场景,我们可以在创建向量时使用with_capacity
方法来设置初始容量为1000。 -
代码示例:
fn main() {
let mut numbers: Vec<i32> = Vec::with_capacity(1000);
for i in 0..1000 {
numbers.push(i);
}
// 此时numbers向量已存储1000个i32类型数字,且初始化时已规划好容量,减少了动态扩容的性能损耗
}