ich mehrere Iterationen des Typs bin ausführen:Schnell Weg, um einen Satz zu verlängern, wenn wir wissen, dass Elemente sind einzigartig
masterSet=masterSet.union(setA)
Als Set wächst die Länge der Zeit, diese Vorgänge auszuführen genommen wächst (als wären sie eine erwarte, denke ich).
Ich erwarte, dass die Zeit in Anspruch genommen wird zu überprüfen, ob jedes Element von SetA bereits in MasterSet ist?
Meine Frage ist, dass, wenn ich weiß, dass MasterSet noch keine der Elemente in SetA enthält, kann ich das schneller tun?
[UPDATE]
Da diese Frage nach wie vor zieht Ansichten, die ich dachte, dass ich aus den Kommentaren und Antworten unten, um ein paar der Dinge aufklären würde:
Wenn Iterieren obwohl es viele Iterationen waren, wo ich wusstesetA
würde von masterSet
wegen seiner wie es konstruiert wurde (ohne zu haben, irgendwelche Prüfungen zu überprüfen) getrennt, aber ein paar Iterationen brauchte ich die Eindeutigkeitsprüfung.
Ich fragte mich, ob es einen Weg zu ‚sagen‘ das masterSet.union()
Verfahren nicht mit der uniquness überprüfen Sie diese Zeit um zu stören, da ich weiß, dass dies eine von masterSet
unterscheidet gerade diese Elemente fügen schnell des Programmierers Behauptung zu vertrauen sie auf jeden Fall distict waren . Perhpas durch Aufruf einer anderen ".unionWithDistinctSet()
" Prozedur oder etwas.
Ich denke, die Antworten haben darauf hingewiesen, dass dies nicht möglich ist (und das wirklich Operationen sollten schnell genug sein sowieso), aber masterSet.update(setA)
statt Union als seine etwas schneller noch zu verwenden.
Ich habe die klarste Antwort in diese Richtung akzeptiert, das Problem, das ich zu der Zeit hatte, gelöst und mit meinem Leben weitergemacht, aber würde immer noch gerne hören, ob meine Hypothese .unionWithDistinctSet()
jemals existieren könnte?
Woher wissen Sie, dass die Elemente nicht in "masterSet" sind? Hast du die Elemente zuerst getestet? –
Nein - bei einigen Iterationen weiß ich übrigens, dass setA erzeugt wird, dass keine Elemente in masterSet sein können –
Einfach überprüfen; Möglicherweise war es möglich, 'masterSet' direkt zu aktualisieren, anstatt es später zu tun. –