Comment créer un tableau, une table de hachage et un dictionnaire dans PowerShell
- Création de Tableaux dans PowerShell
- Travailler avec des Tables de Hachage dans PowerShell
- Création de Dictionnaires Ordonnés dans PowerShell
- Table de Hachage vs. Dictionnaire Ordonné : Différences Clés
- Cas d’Utilisation dans le Monde Réel
- Conclusion
- Questions Fréquemment Posées (FAQ)

PowerShell fournit diverses structures de données pour stocker et manipuler des données de manière efficace. Les tableaux, les tables de hachage et les dictionnaires ordonnés sont des structures fondamentales qui aident à gérer différents types de collections de données dans les scripts et les tâches d’automatisation.
Comprendre comment utiliser ces structures de données permet une meilleure organisation, une récupération efficace et une gestion structurée des données dans les scripts PowerShell. Dans ce guide, nous explorerons comment :
- Créer et manipuler des tableaux dans PowerShell
- Utiliser des tables de hachage pour le stockage clé-valeur
- Travailler avec des dictionnaires ordonnés pour maintenir l’ordre des données
- Comparer les tables de hachage et les dictionnaires ordonnés
- Mettre en œuvre des cas d’utilisation réels pour chaque structure
À la fin de ce tutoriel, vous aurez une compréhension solide de la façon de travailler avec ces structures de données dans PowerShell.
Création de Tableaux dans PowerShell
Qu’est-ce qu’un Tableau dans PowerShell ?
Un tableau dans PowerShell est une collection de plusieurs valeurs stockées dans une seule variable. Les tableaux vous permettent de stocker et de manipuler des listes de données de manière efficace.
Déclaration d’un Tableau en utilisant @()
La manière appropriée d’initialiser un tableau dans PowerShell est d’utiliser la syntaxe @()
. Voici comment vous pouvez créer un tableau avec trois éléments de chaîne :
$data = @('apple', 'ball', 'cat')
Sortie :
apple
ball
cat
Création d’un Tableau Vide
Si vous avez besoin d’un tableau vide qui sera rempli plus tard, déclarez-le en utilisant :
$data = @()
Obtenir le Type de Données d’un Tableau
Vous pouvez vérifier le type d’un tableau en utilisant la méthode .GetType()
:
$data.GetType()
Sortie :
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
Accéder aux Éléments dans un Tableau
Les tableaux sont indexés à partir de zéro, ce qui signifie que le premier élément est à l’index [0]
.
$data[0] # Retrieves the first item
Sortie :
apple
Pour accéder au dernier élément d’un tableau de manière dynamique, utilisez :
$data[-1]
Sortie :
cat
Ajouter des Éléments à un Tableau
Étant donné que les tableaux PowerShell sont immuables, vous ne pouvez pas ajouter directement des éléments comme en Python ou JavaScript. Au lieu de cela, vous devez créer un nouveau tableau qui inclut l’élément supplémentaire :
$data += 'dog'
Sortie :
apple
ball
cat
dog
Supprimer des Éléments d’un Tableau
Pour supprimer un élément, utilisez le filtrage de tableau :
$data = $data | Where-Object { $_ -ne 'ball' }
Sortie :
apple
cat
dog
Travailler avec des Tables de Hachage dans PowerShell
Qu’est-ce qu’une Table de Hachage ?
Une table de hachage est une structure de stockage clé-valeur qui vous permet de récupérer des valeurs à l’aide de clés uniques de manière efficace. Les tables de hachage sont également connues sous le nom de dictionnaires ou de tableaux associatifs.
Création d’une Table de Hachage
Pour déclarer une table de hachage dans PowerShell, utilisez la syntaxe @{}
:
$hash = @{Fruit = "Apple"; Color = "Red"; Count = 5 }
Visualiser le Contenu d’une Table de Hachage
$hash
Sortie :
Name Value
---- -----
Fruit Apple
Color Red
Count 5
Accéder aux Valeurs dans une Table de Hachage
Vous pouvez accéder aux valeurs en utilisant leurs clés :
$hash['Color']
Sortie :
Red
Alternativement, vous pouvez utiliser la notation par point :
$hash.Count
Sortie :
5
Ajouter et Supprimer des Éléments dans une Table de Hachage
Ajouter une Nouvelle Paire Clé-Valeur
$hash['Shape'] = 'Round'
Supprimer une Paire Clé-Valeur
$hash.Remove('Color')
Création de Dictionnaires Ordonnés dans PowerShell
Pourquoi Utiliser un Dictionnaire Ordonné ?
Une table de hachage ne maintient pas l’ordre d’insertion, mais un dictionnaire ordonné le fait. C’est utile lorsque la séquence des données est importante.
Déclaration d’un Dictionnaire Ordonné
Utilisez l’attribut [ordered]
:
$dict = [ordered]@{Fruit = "Apple"; Color = "Red"; Count = 5 }
Accéder aux Éléments d’un Dictionnaire Ordonné
$dict['Fruit']
Sortie :
Apple
Maintenir l’Ordre
Si vous imprimez une table de hachage normale plusieurs fois, l’ordre peut changer. Cependant, avec un dictionnaire ordonné, l’ordre reste constant.
$dict
Sortie :
Name Value
---- -----
Fruit Apple
Color Red
Count 5
Table de Hachage vs. Dictionnaire Ordonné : Différences Clés
Fonctionnalité | Table de Hachage | Dictionnaire Ordonné |
---|---|---|
Maintient l’Ordre ? | ❌ Non | ✅ Oui |
Vitesse d’Accès | ✅ Rapide | ✅ Rapide |
Meilleur Pour | Accès aléatoire aux données | Préservation de l’ordre des clés |
Cas d’Utilisation dans le Monde Réel
Cas d’Utilisation 1 : Stocker des Informations Utilisateur (Exemple de Dictionnaire Ordonné)
$user = [ordered]@{
Name = "John Doe"
Email = "johndoe@example.com"
Role = "Admin"
}
Cas d’Utilisation 2 : Compter les Occurrences de Mots (Exemple de Table de Hachage)
$text = "apple banana apple orange apple banana"
$wordCount = @{}
$text.Split() | ForEach-Object {
if ($wordCount.ContainsKey($_)) {
$wordCount[$_] += 1
} else {
$wordCount[$_] = 1
}
}
$wordCount
Sortie :
Name Value
---- -----
apple 3
banana 2
orange 1
Conclusion
PowerShell fournit des tableaux, des tables de hachage et des dictionnaires ordonnés pour stocker et manipuler des données de manière efficace.
- Utilisez des tableaux (
@()
) lorsque vous travaillez avec une liste de valeurs. - Utilisez des tables de hachage (
@{}
) pour le stockage clé-valeur sans contraintes d’ordre. - Utilisez des dictionnaires ordonnés (
[ordered]@{}
) lorsque la préservation de l’ordre d’insertion est essentielle.
Maîtriser ces structures de données améliorera votre efficacité de script et vos capacités d’automatisation dans PowerShell. 🚀
Questions Fréquemment Posées (FAQ)
Quelle est la différence entre une table de hachage et un dictionnaire dans PowerShell ?
Dans PowerShell, une table de hachage et un dictionnaire sont souvent utilisés de manière interchangeable. Cependant, les dictionnaires font partie du framework .NET (System.Collections.Hashtable
), tandis que les tables de hachage dans PowerShell (@{}
) sont intégrées et optimisées pour le scripting PowerShell.
Comment ajouter ou supprimer des éléments d’un tableau PowerShell ?
Étant donné que les tableaux sont immuables dans PowerShell, vous ne pouvez pas les modifier directement. Au lieu de cela, utilisez :
- Ajouter un élément :
$array += 'newItem'
- Supprimer un élément :
$array = $array | Where-Object { $_ -ne 'itemToRemove' }
Puis-je trier une table de hachage dans PowerShell ?
Oui, vous pouvez utiliser un dictionnaire ordonné ([ordered]@{}
) ou convertir la table de hachage en un format ordonné en utilisant :
$sortedHash = $hash.GetEnumerator() | Sort-Object Name
$sortedHash
Cela garantit que les clés sont affichées dans l’ordre alphabétique.
Article connexe - PowerShell Array
- Comment ajouter des objets à un tableau d'objets dans PowerShell
- Comment créer un tableau vide de tableaux en PowerShell
- Comment importer des fichiers CSV dans un tableau dans PowerShell
- Comment passer un tableau à une fonction dans PowerShell
- Comment supprimer les valeurs dupliquées d'un tableau PowerShell
- Tableau d'octets dans PowerShell