Comment créer un tableau, une table de hachage et un dictionnaire dans PowerShell

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

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.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Article connexe - PowerShell Array