En Rust, vous pouvez stocker une liste de valeurs en utilisant le type de données vectoriel, qui est représenté par le type Vec
, où T
est le type des éléments que vous souhaitez stocker. Les vecteurs sont des collections dynamiques qui peuvent grandir ou rétrécir en taille pendant l’exécution du programme.
Pour créer un nouveau vecteur contenant des éléments, vous pouvez utiliser la macro vec![]
ou la méthode Vec::new()
. Voici un exemple de création d’un vecteur de chaînes de caractères :

rustlet mut vecteur_de_chaines = Vec::new(); // Créer un nouveau vecteur vide
// Ajouter des éléments au vecteur
vecteur_de_chaines.push("Première chaîne");
vecteur_de_chaines.push("Deuxième chaîne");
vecteur_de_chaines.push("Troisième chaîne");
// Afficher le contenu du vecteur
println!("Contenu du vecteur de chaînes : {:?}", vecteur_de_chaines);
Pour stocker une liste de valeurs de différents types, vous pouvez utiliser un enum pour créer un type qui peut contenir différentes variantes. Par exemple :
rustenum Valeur {
Entier(i32),
Flottant(f64),
Chaine(String),
}
fn main() {
let mut vecteur_de_valeurs = Vec::new();
// Ajouter des valeurs au vecteur
vecteur_de_valeurs.push(Valeur::Entier(42));
vecteur_de_valeurs.push(Valeur::Flottant(3.14));
vecteur_de_valeurs.push(Valeur::Chaine(String::from("Rust est génial")));
// Parcourir et afficher le contenu du vecteur
for valeur in &vecteur_de_valeurs {
match valeur {
Valeur::Entier(v) => println!("Entier : {}", v),
Valeur::Flottant(v) => println!("Flottant : {}", v),
Valeur::Chaine(v) => println!("Chaîne : {}", v),
}
}
}
Les vecteurs en Rust sont gérés de manière sûre en ce qui concerne la mémoire, grâce au système de propriété et de vie. Lorsqu’un vecteur n’est plus nécessaire, il sera automatiquement libéré de la mémoire dès qu’il sortira de la portée. De plus, Rust garantit l’absence de pointeurs null et de débordements de tampon grâce à ses mécanismes de sécurité intégrés.
En résumé, en Rust, vous pouvez stocker une liste de valeurs en utilisant des vecteurs (Vec
), qui sont des collections dynamiques sûres en termes de mémoire et qui offrent une flexibilité pour stocker différents types de données.
Plus de connaissances
Bien sûr ! Parlons plus en détail des vecteurs en Rust.
Les vecteurs en Rust sont des structures de données dynamiques qui stockent une séquence d’éléments du même type. Ils sont similaires aux tableaux, mais contrairement aux tableaux, leur taille peut être modifiée pendant l’exécution du programme. Cela les rend extrêmement polyvalents et utiles dans de nombreuses situations.
Voici quelques opérations courantes que vous pouvez effectuer avec les vecteurs en Rust :
-
Création d’un vecteur : Vous pouvez créer un nouveau vecteur vide en utilisant
Vec::new()
ou initialiser un vecteur avec des éléments à l’aide de la macrovec![]
. -
Ajout d’éléments : Vous pouvez ajouter de nouveaux éléments à un vecteur à l’aide de la méthode
push()
. Cette méthode prend un élément du même type que celui stocké dans le vecteur et l’ajoute à la fin. -
Accès aux éléments : Vous pouvez accéder aux éléments d’un vecteur en utilisant l’indexation. Par exemple, pour accéder au premier élément, vous pouvez utiliser
vecteur[0]
. -
Parcours des éléments : Vous pouvez parcourir tous les éléments d’un vecteur à l’aide d’une boucle
for
ou d’itérateurs. Rust fournit plusieurs méthodes pour itérer sur les éléments d’une collection, telles queiter()
,iter_mut()
, etinto_iter()
. -
Suppression d’éléments : Vous pouvez supprimer des éléments d’un vecteur en utilisant la méthode
remove()
oupop()
. La méthoderemove()
prend un index et supprime l’élément à cet index, tandis quepop()
supprime le dernier élément du vecteur et le renvoie. -
Modification d’éléments : Vous pouvez modifier les éléments d’un vecteur en accédant directement à leur emplacement en mémoire à l’aide de l’indexation, puis en affectant une nouvelle valeur.
-
Taille et capacité : Un vecteur a une taille, qui représente le nombre d’éléments qu’il contient actuellement, et une capacité, qui représente le nombre d’éléments qu’il peut contenir sans devoir être redimensionné. Vous pouvez obtenir la taille et la capacité d’un vecteur en utilisant les méthodes
len()
etcapacity()
respectivement. -
Libération de mémoire : Lorsqu’un vecteur n’est plus utilisé, la mémoire qu’il occupait est libérée automatiquement grâce au système de gestion de la mémoire de Rust. Cela évite les fuites de mémoire et les problèmes de fragmentation.
En résumé, les vecteurs en Rust sont des structures de données flexibles et sûres qui permettent de stocker une liste dynamique d’éléments du même type. Leur utilisation est courante dans de nombreux programmes Rust pour gérer des collections de données de manière efficace et sécurisée.