【发布时间】:2012-05-19 19:55:26
【问题描述】:
我有一个对象集合,我想将它们划分为两个集合,其中一个通过谓词,另一个通过谓词。我希望有一个Guava 方法可以做到这一点,但他们最接近的是filter,它不会给我其他集合。
我会想象方法的签名是这样的:
public static <E> Pair<Collection<E>, Collection<E>> partition(Collection<E> source, Predicate<? super E> predicate)
我意识到自己编写代码非常快,但我正在寻找一种现有的库方法来满足我的需求。
【问题讨论】:
-
请注意,在有限的一组预先知道的分区键的情况下,在每次迭代时跳过所有不同键项的每个分区键再次迭代集合可能会更高效.
-
另一种 GC 友好和封装的方法是使用 Java 8 过滤原始集合周围的包装流:stackoverflow.com/questions/19940319/…
-
有人知道分区函数首次出现在集合库中的时间/地点吗?
标签: java collections guava