【Rust】动态数组(五)

环境

  • Time 2022-03-17
  • Rust 1.59.0

概念

动态数组分配在栈上,长度可以变化。

示例

append

连接两个动态数组。

fn main() {
    let mut vec = vec![0, 1, 2, 3, 4];
    let mut vec1 = vec![44, 55];
    vec.append(&mut vec1);
    println!("{vec:?}");
}

clear

清空元素。

fn main() {
    let mut vec = vec![0, 1, 2, 3, 4];
    vec.clear();
    println!("{vec:?}");
}

len

获取长度。

fn main() {
    let vec = vec![0, 1, 2, 3, 4];
    println!("{}", vec.len());
}

is_empty

是否为空。

fn main() {
    let vec = vec![0, 1, 2, 3, 4];
    println!("{}", vec.is_empty());
}

split_off

在指定的位置分割为两个动态数组。

fn main() {
    let mut vec = vec![0, 1, 2, 3, 4];
    let split = vec.split_off(2);
    println!("vec: {vec:?}, split: {split:?}");
}

resize

用指定值填充到指定的长度。

fn main() {
    let mut vec = vec![0, 1, 2, 3, 4];
    vec.resize(8, 44);
    println!("{vec:?}");
}

resize_with

使用闭包填充到指定的长度。

fn main() {
    let mut vec = vec![0, 1, 2, 3, 4];
    vec.resize_with(8, Default::default);
    println!("{vec:?}");
}

总结

了解了动态数组中相关的一些方法。

附录

posted @ 2022-05-27 19:27  波尔  阅读(122)  评论(0编辑  收藏  举报