Was ist ein Vektor?
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 7 von 66.
In Rust haben Sie zwei Hauptmöglichkeiten, um Datensammlungen zu speichern: Arrays und Vektoren. Während Arrays eine feste Größe haben, die zur Kompilierzeit bekannt sein muss, sind Vektoren dynamische Sammlungen, die während der Programmausführung wachsen und schrumpfen können.
Ein Vektor, geschrieben als Vec<T>, ist Rusts dynamischer Array-Typ. Das T repräsentiert den Typ der Elemente, die der Vektor enthalten wird – zum Beispiel Vec<i32> für Ganzzahlen oder Vec<String> für Zeichenketten. Im Gegensatz zu Arrays, bei denen die genaue Anzahl der Elemente im Voraus angegeben werden muss, können Vektoren leer beginnen und Elemente können hinzugefügt oder entfernt werden, während das Programm läuft.
Hier ist der Fall, in dem man einen Vektor gegenüber einem Array bevorzugen würde:
// Array - feste Größe, zur Kompilierzeit bekannt
let scores = [85, 92, 78, 90]; // immer genau 4 Elemente
// Vektor - dynamische Größe, kann sich zur Laufzeit ändern
let mut grades = Vec::new(); // beginnt leer, kann wachsenVektoren sind perfekt, wenn Sie im Voraus nicht wissen, wie viele Elemente Sie benötigen werden, wie zum Beispiel beim Speichern von Benutzereingaben, beim Lesen von Daten aus Dateien oder beim Erstellen von Listen, die sich basierend auf der Programmlogik ändern. Sie bieten die Flexibilität, die Arrays nicht bieten können, während sie gleichzeitig einen effizienten Zugriff auf die Elemente beibehalten.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Spickzettel
Vektoren (Vec<T>) sind dynamische Kollektionen, die während der Programmausführung wachsen und schrumpfen können, im Gegensatz zu Arrays, die eine feste, zur Kompilierzeit bekannte Größe haben.
Das T repräsentiert den Typ der Elemente, die der Vektor enthalten wird:
Vec<i32> // vector of integers
Vec<String> // vector of stringsErstellen eines Vektors:
let mut grades = Vec::new(); // starts empty, can growVergleich mit Arrays:
// Array - fixed size
let scores = [85, 92, 78, 90]; // always exactly 4 elements
// Vector - dynamic size
let mut grades = Vec::new(); // can change during runtimeVerwenden Sie Vektoren, wenn Sie im Voraus nicht wissen, wie viele Elemente Sie benötigen werden, z. B. beim Speichern von Benutzereingaben, beim Lesen von Daten aus Dateien oder beim Erstellen von Listen, die sich basierend auf der Programmlogik ändern.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logic & Flow
1Fortgeschrittener Kontrollfluss
Der 'match'-AusdruckAbgleichen mehrerer WerteBereiche abgleichenDer 'if let'-AusdruckSchleifen als AusdrückeRückblick – Einfacher Befehls-Parser4Daten gruppieren mit Structs
Was ist ein Struct?Übersicht über StructsZugriff auf Struct-FelderVeränderbare StructsStructs als FunktionsparameterTupel-StructsZusammenfassung – Ein Buch-Struct erstellen2Einführung in Vektoren
Was ist ein Vektor?Einen Vektor erstellenElemente mit push hinzufügenZugriff auf Vektor-ElementeÜber einen Vektor iterierenVeränderliche IterationElemente entfernenZusammenfassung – Einfacher Score-Tracker5Schlüssel-Wert-Paare mit Hash Maps
Was ist eine Hash Map?Erstellen einer Hash MapEinfügen von Schlüssel-Wert-PaarenZugreifen auf WerteIterieren über eine Hash MapAktualisieren eines WertesEntfernen eines PaaresZusammenfassung – Wortzähler8Projekt: Einfaches Artikelinventar
Projekt-SetupEinen Artikel hinzufügenLagerbestand prüfenEinen Artikel verkaufenAlles zusammenfügen11Abschluss-Herausforderungen
Wiederholung - Einzigartige ElementeWiederholung - Benutzerprofil-ValidatorWiederholung - Noten-Zusammenfassung3Kommandozeilen-To-Do-Liste
Projekt-SetupEine Aufgabe hinzufügenAlle Aufgaben anzeigenEine Aufgabe entfernenFinaler Code