問題一覧に戻る
中級データ構造
問題41: ベクタの基礎
Vec'<'T'>'はRustの動的配列で、実行時にサイズを変更できます。vec!マクロで初期化でき、Vec::newで空のベクタを作成します。要素は同じ型でなければならず、ヒープに格納されます。配列と違い、実行時に要素を追加・削除できるため、多くの場面で使用されます。ベクタは自動的にメモリを管理し、容量が不足すると自動的に拡張されます。Rustのコレクション型の中で最も基本的で重要な型です。
fn main() {
// ベクタを作成
let numbers: <i32> = ![1, 2, 3, 4, 5];
println!("Vector: {:?}", numbers);
// 空のベクタ
let mut empty_vec: Vec<String> = Vec::();
empty_vec.push(String::from("Hello"));
empty_vec.push(String::from("World"));
// インデックスアクセス
println!("First element: {}", numbers[]);
println!("Last element: {}", numbers[]);
// 可変ベクタ
let data = vec![10, 20, 30];
data[1] = 25;
println!("Modified: {:?}", data);
}