例如,是否可以在番石榴中创建偶数范围?就像是:
Range.closed(0,10) //0,2,4,6,8,10
Run Code Online (Sandbox Code Playgroud)
我知道上面的行不会产生所需的输出,但这样的事情可能是:
Range.closed(0,10, SomeFunctionInterface<Integer>);
Run Code Online (Sandbox Code Playgroud)
哪里
interface SomeFunctionInterface<T>{
T computeNext(T first);
}
Run Code Online (Sandbox Code Playgroud)
番石榴有可能吗?这仍然是一个连续的范围,只是在它上面应用了某个规则.
我只对番石榴解决方案感兴趣.
如果你一起组成两个操作,Guava可以支持这个.首先,创建集{0,1,2,3,4,5,6,7,8,9,10}.然后,你过滤它.
要Range转换为中间的,未过滤的集合,请创建一个ContiguousSet.要做到这一点,你需要一个DiscreteDomain,这基本上就是SomeFunctionInterface你所描述的.由于您正在处理整数,因此可以使用内置函数DiscreteDomain.integers().
要从那里得到只有偶数的集合,你可以写一个Predicate然后将它传递给中间集Sets.filter.
| 归档时间: |
|
| 查看次数: |
822 次 |
| 最近记录: |