2016-09-20 2 views
1

Gibt es eine Möglichkeit, ein Element in einem Hashset zu aktualisieren. Ich habe ein hashset von Benutzern und ich möchte das connectionId Feld aktualisieren.Element in Hashset aktualisieren

ScreenGrab of the Hashset

Soll ich folgendes tun:

  1. das Element abrufen, macht das notwendige Updates
  2. den Artikel entfernen Hashset
  3. es wieder hinzufügen

Antwort

4

Wie Solange Sie den Hash-Code des Elements nicht ändern, können Sie ihn aktualisieren em ohne es zu entfernen. Wenn Ihre Änderungen den Hash-Code ändern, müssen Sie ihn entfernen und erneut hinzufügen, um die Hash-Codes auf dem neuesten Stand zu halten.

+1

In der Tat; Die Lösung wäre, das Objekt veränderbar zu machen. – Joshua

+0

Danke, ich werde es ausprobieren –

1

Der Hauptzweck der Hashset ist, dass: Es hält eine Reihe von Objekten in einer Weise, die Sie leicht und schnell bestimmen, ob ein Objekt bereits im gesetzten oder nicht erlaubt.

Um diesen Zweck zu archivieren, opferte es einige Teile der Fähigkeit, die es ihnen erlaubt, ihren Inhalt zu manipulieren.

Sie könnten diese Art von Sammlung oder Umgehung dieses Problems verwenden, indem Sie ein Dictionary mit Schlüsseln und Werten des gleichen Typs verwenden.