Groovy或Java相当于sumproduct?

Tod*_*d M 4 groovy

在我自己编写之前,有没有人知道Groovy或Java是否预先构建了类似于Excel的sumproduct函数的东西?

sumproduct的准语法是这样的

def list1 = [2,3,4]
def list2 = [5,10,20]

SUMPRODUCT(list1, list2 ...) = 120
Run Code Online (Sandbox Code Playgroud)

你会得到120((2*5)+(3*10)+(4*20)= 120)

Wil*_*ill 6

你可以transpose(),collect()sum结果:

def list1 = [2,3,4]
def list2 = [5,10,20]

assert [list1, list2]
    .transpose()
    .collect { it[0] * it[1] }
    .sum()  == 120
Run Code Online (Sandbox Code Playgroud)