Module alloc::vec

1.0.0 · source ·
Expand description

具有堆已分配内容的连续可增长数组类型,写为 Vec<T>

Vectors 有 O(1) 索引,摊销 O(1) push (到最后) 和 O(1) pop (从最后)。

Vectors 确保它们分配的字节数永远不会超过 isize::MAX 字节。

Examples

您可以使用 Vec::new 显式创建 Vec

let v: Vec<i32> = Vec::new();
Run

…或者使用 vec! 宏:

let v: Vec<i32> = vec![];

let v = vec![1, 2, 3, 4, 5];

let v = vec![0; 10]; // 十个零
Run

您可以将 push 值添加到 vector 的末尾 (这将根据需要增大 vector) :

let mut v = vec![1, 2];

v.push(3);
Run

弹出值的工作方式大致相同:

let mut v = vec![1, 2];

let two = v.pop();
Run

Vectors 还支持索引 (通过 IndexIndexMut traits) :

let mut v = vec![1, 2, 3];
let three = v[2];
v[1] = v[1] + 5;
Run

Structs

  • DrainFilterExperimental
    使用闭包确定是否应删除元素的迭代器。
  • Vec<T> 的 draining 迭代器。
  • 从 vector 移出的迭代器。
  • Vec 的拼接迭代器。
  • 一种连续的可增长数组类型,写成 Vec<T>,它是 ‘vector’ 的缩写。