Satz (Struktur der Daten) in der PowerShell
Gibt es eine Möglichkeit, die definieren, eine Legen Sie die Daten-Struktur in PowerShell?
In der informatik eine Menge ist eine abstrakte Datentyp speichern können, bestimmte Werte, ohne bestimmte Reihenfolge, und keine sich wiederholenden Werte. Es ist eine computer-Umsetzung des mathematischen Konzept einer endlichen Menge. Im Gegensatz zu den meisten anderen collection-Typen, eher als das abrufen eines bestimmten Elements aus einer Menge, einer Regel-tests einen Wert für die Zugehörigkeit zu einer Gruppe.
Muss ich verwenden eine Datenstruktur, die als Schlüsselspeicher, der:
- sichert keine Wiederholungen;
- minimiert den berechnungsaufwand in, um und entfernen Sie ein element.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie können den Einsatz .NET
HashSet
Klasse, die ist zu finden unterSystem.Collections.Generic
:Sammlung garantiert einzigartige Gegenstände und die
Add
,Entfernen
, undContains
Methoden alle arbeiten mit O(1) Komplexität im Durchschnitt.Wenn Sie es vorziehen, mit Stock, native PowerShell-Typen, die Sie verwenden können
HashTable
und ignorieren einfach die wichtigsten Werte:Weitere Informationen finden Sie unter: https://powershellexplained.com/2016-11-06-powershell-hashtable-everything-you-wanted-to-know-about/#removing-and-clearing-keys
$set.Add("foo", $true)
eine Ausnahme auslöst, wenn der Schlüssel bereits vorhanden ist. Daher$set["foo"] = $true
sollte stattdessen verwendet werden, da es nicht nur ermöglicht die Erstellung von neuen keys, sondern auch zur Aktualisierung der bereits bestehenden bei.Remove
Verhalten (die nicht werfen, wenn das Element nicht vorhanden ist), also werde ich es hinzufügen, um meine Antwort - danke!