Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

185
Vistas
Java 8 para cada uno y el primer índice

Alguien sabe cómo lograr el siguiente código de pieza en una forma de Java 8, respectivamente, ¿hay algún método de flujo para detectar el primer elemento en un forEach?

 List<String> myList = new ArrayList<String>(); myList.add("A"); myList.add("B"); int i = 0; for (final String value : myList) { if (i == 0) { System.out.println("Hey that's the first element"); } System.out.println(value); i++; }

Java8:

 myList.stream().forEach(value -> { // TODO: How to do something special for first element? System.out.println(value); });

Además, digamos que el objetivo es el siguiente (salida de la consola):

 A Something special B C D E F
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

¿Puede esto funcionar para usted?

 myList.stream().findFirst().ifPresent(e -> System.out.println("Special: " + e)); myList.stream().skip(1).forEach(System.out::println);

Producción:

 Special: A B

Alternativa:

 myList.stream().findFirst().ifPresent(e -> somethingSpecial(e)); myList.stream().forEach(System.out::println);
about 4 years ago · Santiago Trujillo Denunciar

0

No creo que haya algo proporcionado en stream.

Hay varias alternativas que puede considerar:

Método 1:

 int[] i = {0}; // I am using it only as an int holder. myList.stream().forEach(value -> { if (i[0]++ == 0) { doSomethingSpecial; } System.out.println(value); });

Método 2:

Si su lista es rápida para el acceso aleatorio (por ejemplo, ArrayList ), puede considerar:

 IntStream.range(0, myList.size()) .forEach(i -> { ValueType value = myList.get(i); if (i == 0) { doSomethingSpecial(); } System.out.println(value); });
about 4 years ago · Santiago Trujillo Denunciar

0

Prueba StreamEx

 StreamEx.of("A", "B", "C") // .peekFirst(e -> System.out.println(e + " Something special")).skip(1) // .forEach(System.out::println);
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda