ベクタは、動的にサイズを変更できる配列。Vecでよく使用される重要なメソッドをまとめる。
1. push
と pop
push
ベクタの末尾に要素を追加する。
let mut vec = Vec::new();
vec.push(1);
vec.push(2);
pop
ベクタの末尾から要素を取り出し、削除します。空の場合はNoneを返す。
let mut vec = vec![1, 2, 3];
if let Some(value) = vec.pop() {
println!("Popped value: {}", value);
}
2. insert
と remove
insert
指定したインデックスに要素を挿入する。
let mut vec = vec![1, 2, 4];
vec.insert(2, 3); // [1, 2, 3, 4]
remove
指定したインデックスの要素を削除し、その要素を返す。
let mut vec = vec![1, 2, 3, 4];
let value = vec.remove(2); // [1, 2, 4]
println!("Removed value: {}", value);
3. len
と is_empty
len
ベクタに含まれる要素の数を返す。
let vec = vec![1, 2, 3];
println!("Length of vec: {}", vec.len());
is_empty
ベクタが空であるかどうかをチェックする。
let vec: Vec<i32> = Vec::new();
if vec.is_empty() {
println!("vec is empty");
}
4. clear
ベクタのすべての要素を削除する。
let mut vec = vec![1, 2, 3];
vec.clear();
5. contains
ベクタに指定した要素が含まれているかどうかをチェックする。
let vec = vec![1, 2, 3];
if vec.contains(&2) {
println!("vec contains 2");
}
6. iter
と iter_mut
iter
ベクタのイミュータブルなイテレータを返す。
let vec = vec![1, 2, 3];
for value in vec.iter() {
println!("{}", value);
}
iter_mut
ベクタのミュータブルなイテレータを返し、要素を変更する。
let mut vec = vec![1, 2, 3];
for value in vec.iter_mut() {
*value += 1;
}
7. sort
と reverse
sort
ベクタの要素をソートする。
let mut vec = vec![3, 1, 2];
vec.sort();
reverse
ベクタの要素を逆順にする。
let mut vec = vec![1, 2, 3];
vec.reverse();
8. retain
指定された条件に合致する要素だけをベクタに残す。
let mut vec = vec![1, 2, 3, 4, 5];
vec.retain(|&x| x % 2 == 0); // 偶数のみ残す
9. extend
他のイテレータやコレクションから要素を追加する。
let mut vec = vec![1, 2];
vec.extend(vec![3, 4]);
10. split_at
指定したインデックスでベクタを2つに分割する。
let vec = vec![1, 2, 3, 4, 5];
let (left, right) = vec.split_at(3);
println!("Left: {:?}", left); // [1, 2, 3]
println!("Right: {:?}", right); // [4, 5]