You already got a good technical answer, so let's add a distinct non-answer.
This here: List<Object[2]> feels sooooo wrong.
Why don't you use something like: List<Pair<Integer, String>>?!
In other words: do not give up on type information lightly. Do not misuse Object[] as a typeless container to stuff in already typed things. Java is a statically compiled language. Meaning: don't resist the forces of generics and strict typing, instead flow with them.
And the answer code turns into:
.reduce(p1, p2 -> new Pair<>(p1.first * p2.first, p1.second + p2.second))
Seriously: it starts by using Object[] ... and it ends with you switching to ruby 'cause dynamic typing!