Rust

コレクション

Vec<T>、String、HashMap、HashSet、イテレータ、collect、コレクションの所有権

20 面接問題·
Junior
1

Vec<T> の末尾に要素を追加するメソッドはどれですか?

回答

push() メソッドはベクタの末尾に要素を追加し、サイズを 1 増やします。この操作は償却計算量 O(1) です。容量を超えるとベクタがメモリを再確保する必要がある場合があるためです。複数の要素を追加するには、必要に応じて extend() や append() を使用できます。

2

Rust における String と &str の主な違いは何ですか?

回答

String はヒープ上に格納される所有型 (owned) で、可変かつサイズ変更が可能です。&str は UTF-8 シーケンスへの不変参照で、しばしば「string slice」と呼ばれます。String は自身のデータを所有し変更できますが、&str は既存のデータを所有せずに借用します。この区別は Rust のメモリ管理において基本的です。

3

Rust で新しい空の Vec<i32> を作成するにはどうすればよいですか?

回答

Vec::new() は初期割り当てなしで空のベクタを作成します。vec![] マクロでも空のベクタを作成できますが、Vec::new() が標準的な明示的メソッドです。ジェネリック型は推論されるか、turbofish 構文 Vec::<i32>::new() または型注釈によって明示的に指定できます。

4

Vec<T> に対して get() メソッドは何を返しますか?

5

平均O(1)のアクセスでキーと値を関連付けるには、どのデータ構造を使用しますか?

+17 面接問題

次の面接に向けてRustをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める