我需要像FluentIterable.transformAndConcat
这样的东西,但是我的FluentIterable中的所有元素都只调用一次transform函数(所以FluentIterable的所有元素都应该立即传递给我的函数)而不是每个单元一次元件。
番石榴有这个案子,我错过了吗?
感谢任何提示!
答案 0 :(得分:3)
在我看来,你想要改变的不是单个元素,而是集合本身。如果您有Function<X,Y>
,则可以使用此方法将Collection<X>
转换为Collection<Y>
。
您所拥有的是Function<Collection<X>, Collection<Y>>
,只需使用Function.apply
在您的收藏中调用它,然后对其进行迭代。
答案 1 :(得分:1)
尝试使用Observer模式,它充当监听器,
您的对象是侦听器,然后当您需要触发和事件时,所有对象都会执行您想要的方法。
我担心当您触发该事件时,必须有一个循环通知您的对象,首先尝试理解这种模式,以便它符合您的需要。
干杯