在Python中,如果要对xor操作进行折叠,可以编写:
reduce(operator.xor, my_things, 0)
而不是比较麻烦
reduce(lambda x, y: x^y, my_things, 0)
新的Java 8功能特性中是否有类似的东西?例如写这样的东西
myThings.reduce(0, Integer::xor)
而不是
myThings.reduce(0, (x, y) -> x ^ y)
有Integer#sum(int, int)
你在包专用表明这是用来IntPipeline
,但对于其他数值运营商没有类似的方法。
@Override
public final int sum() {
return reduce(0, Integer::sum);
}
您可以自己定义它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句