Sonali:
Tengo dos listas quiero comparar cada elemento de la lista 1 de la lista 2 y obtener el resultado de la lista 3 por ejemplo,
List1 = {99,22,33}
list2 = {11,24,33}
Resultado:
list3 = {1,-1,0}
¿Cómo puedo hacer esto utilizando preferentemente corriente?
WJS:
Trate de esta manera:
Esto sustituye a la corriente de la ints
utiliza para indexar cada lista, con el resultado de la comparación. A continuación, recoger los en una lista.
Nota: He añadido una salvaguarda para dar cuenta de las diferentes listas de tamaño. Se utilizará el menor de los dos para evitar una excepción que es lanzado. Pero los elementos posteriores de la lista más larga serán ignorados.
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);
Huellas dactilares
[1, -1, 0]