使用Guava,是否可以将新项目添加到仅转换集合的集合中?
想象一下,例如我有
Set<Integer> numbers = Sets.newHashSet(1,2,3);
现在,除了已经存在的数字之外,还应包括每个数字的两倍和三倍,因此2,4,6以及3,6,9。
Guava中有什么东西像
addToSet(numbers, <a function returning a List of values for each element in numbers>)
感谢任何提示!
答案 0 :(得分:3)
为什么像Set.addAll(Collection c)这样的东西不够?
Set<Integer> numbers = Sets.newHashSet(1,2,3);
numbers.addAll(setReturningFunction());
答案 1 :(得分:1)
装饰Set(可以使用ForwardingSet),然后覆盖add方法,将其他项添加到支持委托中。
答案 2 :(得分:1)
transformAndConcat
完成这项工作,允许返回多个元素,尽管只有一个元素被传递给转换函数。