Rust 列表(Vec)复制

RustVec列表类型实现了clone(),可以直接调用复制一份新的列表出来。

#[test]
fn test_list_clone() {
    // 构造列表:[5,4,3,2,1]
    let list = (1..=5).rev().collect::<Vec<_>>();

    //方法一:通过clone()复制列表
    let mut list_sorted = list.clone();
    list_sorted.sort_unstable();

    //方法二:新建列表,然后添加/设置元素
    let mut list_new = vec![0; list.len()];
    list.iter().enumerate().for_each(|(i,e)| {
        list_new[i] = *e;
    });
    list_new[2] = 300;
    // 复制了2份新的,可以各自修改,互不影响
    println!("{:?}", list);//[5, 4, 3, 2, 1]
    println!("{:?}", list_sorted);//[1, 2, 3, 4, 5]
    println!("{:?}", list_new);//[5, 4, 300, 2, 1]
}

你可能感兴趣的:(Rust编程小知识,rust,rust,复制列表,rust,Vec,clone,rust列表复制)