drain.rs |
|
8457 |
into_iter.rs |
|
6144 |
mod.rs |
A contiguous growable array type with heap-allocated contents, written
`Vec<T>`.
Vectors have *O*(1) indexing, amortized *O*(1) push (to the end) and
*O*(1) pop (from the end).
Vectors ensure they never allocate more than `isize::MAX` bytes.
# Examples
You can explicitly create a [`Vec`] with [`Vec::new`]:
```
let v: Vec<i32> = Vec::new();
```
...or by using the [`vec!`] macro:
```
let v: Vec<i32> = vec![];
let v = vec![1, 2, 3, 4, 5];
let v = vec![0; 10]; // ten zeroes
```
You can [`push`] values onto the end of a vector (which will grow the vector
as needed):
```
let mut v = vec![1, 2];
v.push(3);
```
Popping values works in much the same way:
```
let mut v = vec![1, 2];
let two = v.pop();
```
Vectors also support indexing (through the [`Index`] and [`IndexMut`] traits):
```
let mut v = vec![1, 2, 3];
let three = v[2];
v[1] = v[1] + 5;
```
[`push`]: Vec::push |
114257 |
partial_eq.rs |
|
1828 |
set_len_on_drop.rs |
|
860 |
splice.rs |
|
4519 |