Bibliothek-Methode, um partition einer Sammlung, die ein Prädikat

Habe ich eine Sammlung von Objekten, möchte ich eine partition in zwei Sammlungen, von denen geht ein Prädikat, und von denen scheitert ein Prädikat. Ich hatte gehofft, es wäre ein Guave Methode, dies zu tun, aber die nächsten kommen Sie ist filter, die nicht geben Sie mir die andere Sammlung.

Ich würde das Bild die Signatur der Methode, wäre so etwas wie dieses:

public static <E> Pair<Collection<E>, Collection<E>> partition(Collection<E> source, Predicate<? super E> predicate)

Ich weiß, das ist super schnell zum code selbst, aber ich bin auf der Suche nach einer vorhandenen Bibliothek Methode, die das tut, was ich will.

  • Beachten Sie, dass im Falle von beschränkten Satz von im Voraus bekannt partiotion Schlüssel kann es viel effizienter GC-wise nur zum Durchlaufen der collection einmal mehr für jede partition Taste überspringen alle anderen-wichtige Elemente, die bei jeder iteration.
  • Anderen beiden GC-freundlich und gekapselt Ansatz ist die Nutzung von Java-8 filtern-wrapper Bächen rund um original-Sammlung: stackoverflow.com/questions/19940319/...
InformationsquelleAutor Edward Dale | 2012-05-11
Schreibe einen Kommentar