Podemos combinar estos tres bucles for anidados mediante el uso de corrientes en Java 8?

Jeeva D:

Al tratar de convertir el siguiente código mediante el uso de corrientes terminé en algún error. No podía convertirlo mediante el uso de las corrientes. No podía fusionar la bucles utilizando corrientes

El siguiente código es el que tiene que ser cambiado mediante el uso de corrientes.

     for (Admin ah : subProducers) {
                List<String> wns = ah.getAdminSitCodes().stream()
                        .map(new SitCodeMap()).map(Pair::getFirst)
                        .distinct().collect(Collectors.toList());

                for (String wn : wns) {
                    for (String value : values) {
                        if (wn.equals(value)) {
                            admin.add(ah);
                        }
                    }
                }
            }

He tratado como se encuentra por debajo

     admin = subProducers.stream().map(sp-> sp.getAdminSitCodes().stream()
                  .map(new SitCodeMap())

     .map(Pair::getFirst).distinct()).collect(Collectors.toList())
                    .stream()
                   .filter(wns->values.stream().anyMatch(v- 
      >wns.equals(v)))
                   .collect(Collectors.toList());

Tiene que conseguir esta convertida en una lista mediante corrientes

también:

Puede hacer uso de la Setcolección para valuesy luego completar el código como:

List<Admin> admin = subProducers.stream()
        .filter(a -> a.getAdminSitCodes().stream()
                .map(new SitCodeMap())
                .map(Pair::getFirst) // assuming this is Stream<String>
                .distinct()
                .anyMatch(values::contains))
        .collect(Collectors.toList());

Supongo que te gusta

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