Effizientester Datentyp zur Speicherung einer ungeordneten Menge von ints

Guybrush Threepwood

Top Contributor
Hi,
zur Rückversicherung: Ich möchte eine Menge von Integer-Werten im Speicher halten (Reihenfolge spielt keine Rolle) und suche den besten Datentyp hierfür. Ich möchte lediglich weitere Integer hinzufügen können und prüfen, ob ein Integer bereits vorhanden ist. Ein HashSet() scheint mir dafür am Besten geeignet zu sein, oder?

Vielen Dank und viele Grüße,
Guybrush

P.S.: Es handelt sich um maximal 8000 ints.
 
Zuletzt bearbeitet:
Wenn es um 8000 Stück und Effizienz geht, könntest du dir auch mal die möglichen Implementierungen von "IntHashSet" ansehen (Websuche, gibt's mehrere) - ansonsten könnte Boxing/Unboxing von int zu Integer ein Problem werden...
 
Wenn es um 8000 Stück und Effizienz geht, könntest du dir auch mal die möglichen Implementierungen von "IntHashSet" ansehen (Websuche, gibt's mehrere)
Leider gibt es keine IntIntHashMap unter brauchbarer Lizenz, daher musst ich letzten Monat eine schreiben... :autsch:
Das hier sind soweit ich finden konnte die schnellsten Java Primitiv Collections, leider ist auch GPL Code in der Library verpackt.
Colt - Welcome
 
Leider gibt es keine IntIntHashMap unter brauchbarer Lizenz, daher musst ich letzten Monat eine schreiben... :autsch:
Das hier sind soweit ich finden konnte die schnellsten Java Primitiv Collections, leider ist auch GPL Code in der Library verpackt.
Colt - Welcome

Ja, kürzlich hatte ich da auch mal ein bißchen recherchiert, weil ich gemerkt hatte, dass ich gerade dabei war, sowas selbst zu schreiben :autsch: da dachte ich: "Da gibt's doch bestimmt was von Ratio^Z^Z^Z Apache..." Die haben zwar sowas wie Commons Primitives 1.1-dev API aber das war dann etwas zu "dünn" für meine "Ansprüche" 😀 - Und im Moment sind's eigentlich nur Collection+List, also nichts assoziatives. Kommt vielleicht noch. Trove hatte ich dann auch gesehen, das sah noch am ehesten nach dem aus, was ich da auch angefangen hatte. Colt kannte ich schon vorher, aber da ist der Schwerpunkt wohl auch ein anderer. Dann hatte ich noch ein paar ähnliche Projekte gesehen ("PCJ" und so), die aber entweder halbherizig waren, oder nicht weiterentwickelt wurden (wobei Colt ja auch schon alt ist...).

Mit am vielversprechendsten sah für mich (neben Trove) noch HPPC: High Performance Primitive Collections for Java aus - Bestimmte Aspekte davon sind "eigenartig" (nicht im Sinne von "seltsam", nur im Sinne einer sehr eigenen Art 🙂) aber das könnte schon in die richtige Richtung gehen - die haben z.B. auch eine IntIntOpenHashMap (HPPC v0.4.0 API Documentation (JavaDoc)) - Zumindest einen Blick wert.
 

Zurück
Oben