Rust 中 Vec 的常用方法有哪些?

推荐答案

在 Rust 中,Vec 是一个动态数组,提供了许多常用的方法来操作和管理其中的元素。以下是一些常用的 Vec 方法:

  1. new() - 创建一个空的 Vec
  2. with_capacity(capacity: usize) - 创建一个具有指定容量的 Vec
  3. push(value: T) - 在 Vec 的末尾添加一个元素。
  4. pop() -> Option<T> - 移除并返回 Vec 的最后一个元素。
  5. len() -> usize - 返回 Vec 中元素的数量。
  6. is_empty() -> bool - 检查 Vec 是否为空。
  7. get(index: usize) -> Option<&T> - 获取指定索引处的元素的引用。
  8. get_mut(index: usize) -> Option<&mut T> - 获取指定索引处的元素的可变引用。
  9. insert(index: usize, element: T) - 在指定索引处插入一个元素。
  10. remove(index: usize) -> T - 移除并返回指定索引处的元素。
  11. clear() - 清空 Vec 中的所有元素。
  12. contains(&value: &T) -> bool - 检查 Vec 是否包含指定的值。
  13. sort() - 对 Vec 中的元素进行排序。
  14. drain(range: R) -> Drain<T> - 移除指定范围内的元素并返回一个迭代器。
  15. extend(iter: impl IntoIterator<Item = T>) - 将迭代器中的元素添加到 Vec 的末尾。

本题详细解读

new()

new() 方法用于创建一个空的 Vec。由于 Vec 是动态数组,初始时没有分配任何内存。

with_capacity(capacity: usize)

with_capacity 方法创建一个具有指定容量的 Vec。这可以避免在添加元素时频繁重新分配内存。

push(value: T)

push 方法在 Vec 的末尾添加一个元素。如果 Vec 的容量不足,会自动扩容。

pop() -> Option<T>

pop 方法移除并返回 Vec 的最后一个元素。如果 Vec 为空,则返回 None

len() -> usize

len 方法返回 Vec 中元素的数量。

is_empty() -> bool

is_empty 方法检查 Vec 是否为空。

get(index: usize) -> Option<&T>

get 方法获取指定索引处的元素的引用。如果索引超出范围,则返回 None

get_mut(index: usize) -> Option<&mut T>

get_mut 方法获取指定索引处的元素的可变引用。如果索引超出范围,则返回 None

insert(index: usize, element: T)

insert 方法在指定索引处插入一个元素。插入点之后的元素会向后移动。

remove(index: usize) -> T

remove 方法移除并返回指定索引处的元素。移除点之后的元素会向前移动。

clear()

clear 方法清空 Vec 中的所有元素,但不释放内存。

contains(&value: &T) -> bool

contains 方法检查 Vec 是否包含指定的值。

sort()

sort 方法对 Vec 中的元素进行排序。

drain(range: R) -> Drain<T>

drain 方法移除指定范围内的元素并返回一个迭代器。

extend(iter: impl IntoIterator<Item = T>)

extend 方法将迭代器中的元素添加到 Vec 的末尾。

纠错
反馈