Rust
中Vec列表类型
实现了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]
}