По сути, вы ищете функциональность операции Zip
(которая пока недоступна в Java).
Чтобы получить набор логических значений, в результатеЯ бы порекомендовал:
boolean[] accumulator = new boolean[a.length];
IntStream.range(0, a.length)
.forEachOrdered(i -> accumulator[i] = a[i] == b[i]);
и соответственно получить результат как int
между соответствующими элементами в обоих массивах:
int[] ints = IntStream.range(0, a.length)
.map(i -> Integer.compare(a[i], b[i]))
.toArray();