Rust

Kolekcje

Vec<T>, String, HashMap, HashSet, iteratory, collect, ownership w kolekcjach

20 pytań z rozmów·
Junior
1

Która metoda pozwala dodać element na końcu Vec<T>?

Odpowiedź

Metoda push() dodaje element na końcu wektora, zwiększając jego rozmiar o 1. Operacja ta ma zamortyzowaną złożoność O(1), ponieważ wektor może wymagać ponownej alokacji pamięci, jeśli pojemność zostanie przekroczona. Aby dodać wiele elementów, można użyć extend() lub append() w zależności od potrzeb.

2

Jaka jest główna różnica między String a &str w Rust?

Odpowiedź

String to typ posiadany (owned) przechowywany na stercie, modyfikowalny i o zmiennym rozmiarze. &str to niezmienne odniesienie do sekwencji UTF-8, często nazywane 'string slice'. String posiada swoje dane i może być modyfikowany, podczas gdy &str pożycza istniejące dane bez ich posiadania. To rozróżnienie jest fundamentalne dla zarządzania pamięcią w Rust.

3

Jak utworzyć nowy pusty Vec<i32> w Rust?

Odpowiedź

Vec::new() tworzy pusty wektor bez początkowej alokacji. Makro vec![] również może utworzyć pusty wektor, ale Vec::new() to standardowa, jawna metoda. Typ generyczny może być wywnioskowany lub jawnie określony za pomocą składni turbofish Vec::<i32>::new() albo poprzez adnotację typu.

4

Co zwraca metoda get() na Vec<T>?

5

Której struktury danych użyć do powiązania kluczy z wartościami przy średnim dostępie O(1)?

+17 pytań z rozmów

Opanuj Rust na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo