Sobes.tech
Junior — Middle

Είναι η μέθοδος forEach στη Java ένα τελικό σημείο ή ένα ενδιάμεσο στάδιο στην επεξεργασία ροών;

sobes.tech AI

Απάντηση από AI

Στην Java, η μέθοδος forEach για ροές (Stream.forEach) είναι μια τερματική (τελική) λειτουργία, δηλαδή το τελικό σημείο επεξεργασίας της ροής. Μετά την κλήση του forEach, η ροή θεωρείται καταναλωμένη και δεν είναι δυνατές περαιτέρω λειτουργίες πάνω σε αυτή.

Παράδειγμα:

Stream.of(1, 2, 3)
      .filter(n -> n > 1)  // ενδιάμεση λειτουργία
      .forEach(System.out::println);  // τερματική λειτουργία

Εδώ, το filter είναι ενδιάμεση λειτουργία, και το forEach είναι η τερματική λειτουργία, που ξεκινά την εκτέλεση ολόκληρου του αγωγού και εμφανίζει τα στοιχεία.