Попробуйте это так:
Заменяет поток ints
, используемый для индексации каждого списка, результатом сравнения. Затем соберите их в список.
Примечание: я добавил защиту для учета списков разных размеров. Он будет использовать меньшее из двух значений, чтобы исключить исключение. Но конечные элементы более длинного списка будут игнорироваться.
List<Integer> list1 = List.of(99, 22, 33);
List<Integer> list2 = List.of(11, 24, 33);
// safeguard against different sized lists.
int minLen = Math.min(list1.size(), list2.size());
List<Integer> result = IntStream.range(0, minLen)
.map(i -> list1.get(i).compareTo(list2.get(i)))
.boxed().collect(Collectors.toList());
System.out.println(result);
Prints
[1, -1, 0]