ベクタとは?
CoddyのRustジャーニー「Logic & Flow」セクションの一部 — レッスン 7/66。
Rustでは、データのコレクションを格納するための主な方法が2つあります。それは配列とベクタです。配列はコンパイル時に決定される固定サイズを持ちますが、ベクタはプログラムの実行中にサイズを拡張したり縮小したりできる動的なコレクションです。
ベクタ(Vec<T>と記述されます)は、Rustの伸長可能な配列型です。Tはベクタが保持する要素の型を表します。例えば、整数ならVec<i32>、文字列ならVec<String>となります。事前に正確な要素数を指定しなければならない配列とは異なり、ベクタは空の状態で開始し、プログラムの実行中に要素を追加したり削除したりすることができます。
配列ではなくベクタを選択すべき場面は以下の通りです:
// 配列 - 固定サイズ、コンパイル時に既知
let scores = [85, 92, 78, 90]; // 常に正確に4つの要素
// ベクタ - 動的なサイズ、実行時に変更可能
let mut grades = Vec::new(); // 空で始まり、拡張可能ベクタは、ユーザー入力の保存、ファイルからのデータの読み取り、プログラムのロジックに基づいて変化するリストの構築など、事前に必要な要素数がわからない場合に最適です。これらは、要素への効率的なアクセスを維持しながら、配列では提供できない柔軟性を提供します。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
チートシート
ベクタ(Vec<T>)は、コンパイル時にサイズが固定されている配列とは異なり、プログラムの実行中にサイズを拡大または縮小できる動的なコレクションです。
T は、ベクタが保持する要素の型を表します:
Vec<i32> // 整数型のベクタ
Vec<String> // 文字列型のベクタベクタの作成:
let mut grades = Vec::new(); // 空の状態で開始し、拡張可能配列との比較:
// 配列 - 固定サイズ
let scores = [85, 92, 78, 90]; // 常に正確に4つの要素
// ベクタ - 動的サイズ
let mut grades = Vec::new(); // 実行中に変更可能ユーザー入力の保存、ファイルからのデータの読み取り、プログラムのロジックに基づいて変化するリストの構築など、必要なアイテムの数が事前にはわからない場合にベクタを使用します。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。