Saltar al contenido

Contador incremental en Stream foreach Java 8

Nuestro equipo de expertos despúes de días de trabajo y de recopilar de información, hemos dado con la solución, esperamos que te sea útil para tu proyecto.

Solución:

Depende de dónde quieras incrementar.

O

userList.stream()
        .map(user -> 
               counter.getAndIncrement();
               return new Foo(getName(user), getId(user));
            )
        .forEach(fooList::add);

o

userList.stream()
        .map(user -> new Foo(getName(user), getId(user)))
        .forEach(foo -> 
            fooList.add(foo);
            counter.getAndIncrement();
        );

Podemos usar el método incrementAndGet de Atomic Integer.

  AtomicInteger count=new AtomicInteger(0);

  list.forEach(System.out.println(count.incrementAndGet());

también se puede hacer usando Stream.peek()

userList.stream()
    .map(user -> new Foo(getName(user), getId(user)))
    .peek(u -> counter.getAndIncrement())
    .forEach(fooList::add);

Sección de Reseñas y Valoraciones

No se te olvide dar recomendación a esta división si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *