Elementos de comparación en la misma posición de dos listas utilizando Java 8 corriente

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 intsutiliza 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]

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=410373&siteId=1
Recomendado
Clasificación