0

使用 Guava,是否可以将新项目添加到 Collection 而不是仅转换 Collection?

想象一下,例如我有

Set<Integer> numbers = Sets.newHashSet(1,2,3);

现在,除了已经存在的数字之外,还应包括每个数字的双倍和三倍,因此 2、4、6 和 3、6、9。

番石榴中是否有类似的东西

addToSet(numbers, <a function returning a List of values for each element in numbers>)

?

感谢您的任何提示!

4

3 回答 3

3

为什么像Set.addAll(Collection c)这样的东西还不够?

Set<Integer> numbers = Sets.newHashSet(1,2,3);
numbers.addAll(setReturningFunction());
于 2013-03-29T17:12:54.507 回答
1

装饰 Set(可以使用 ForwardingSet),然后重写 add 方法以将其他项目添加到支持委托中。

于 2013-03-29T17:59:05.047 回答
1

transformAndConcat完成这项工作,允许返回多个元素,尽管只有一个元素被传递给转换函数。

于 2013-05-10T19:23:20.890 回答