Java-Äquivalent von Python 'in' - für den Set-Mitgliedschaftstest?

8

Ich möchte prüfen, ob ein item in einem item set existiert.

Ich möchte dies in java tun:

%Vor%

(Entschuldigung, wenn mein Python nicht Python ist. Ich wollte nur meine Absicht vermitteln.)

Ich habe es geschafft, dies zu schreiben:

%Vor%

Gibt es eine bessere Möglichkeit, set-membership in Java zu testen?

    
Roman C 31.03.2013, 08:51
quelle

1 Antwort

12

Sie können es nicht mit einem geraden Array tun, aber Sie können mit Set<T> durch Aufruf von .contains . Wenn Sie das Gefühl haben, dass Sie viele isItemInSet -Aufrufe ausführen, sollten Sie in Erwägung ziehen, Set s anstelle von Arrays zu verwenden - Sie werden viel glücklicher sein.

Wenn Sie beispielsweise HashSet<T> verwenden, wird% co_de erstellt % eine O (1) Operation (im Durchschnitt). Das Einfügen und Löschen ist ebenfalls ähnlich schnell. In der Tat ist ein isItemInSet in Java im Wesentlichen das gleiche wie ein Python HashSet<T> (ähnlich zugrunde liegendes Konzept und Leistungsmerkmale) - Sie werden eine große Verbesserung in der Geschwindigkeit mit vielen Aufrufen zum Abfragen, Einfügen oder Löschen auf dem Set sehen / p>     

nneonneo 31.03.2013, 08:55
quelle

Tags und Links