Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Elaborazione Intermedia con il Metodo Peek() | Operazioni Intermedie Nello Stream API
Stream API

bookElaborazione Intermedia con il Metodo Peek()

Il metodo peek() consente di inserire log nella fase di elaborazione senza modificare il flusso di dati, permettendo poi di proseguire con le operazioni sugli elementi che superano il necessario filtro.

Stream<T> peek(Consumer<? super T> action);

Questo metodo accetta un oggetto che implementa l'interfaccia Consumer, il quale esegue un'operazione su ciascun elemento del flusso.

Esempio pratico

Una fabbrica deve ispezionare i prodotti per assicurarsi che i loro nomi inizino con "product-" e corrispondano a uno specifico pattern. Allo stesso tempo, è necessario registrare tutti i prodotti nell'elenco. I prodotti validi devono essere raccolti in una lista e stampati sulla console.

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> items = Arrays.asList("product-H31KD", "product-A12ZX", "item-X99KD", "product-B67QF", "product-12345", "invalidData"); // Example of using peek for logging and collecting filtered elements into a new list List<String> validProducts = items.stream() .peek(item -> System.out.println("Checking item: " + item)) .filter(item -> item.startsWith("product-")) .toList(); // Collecting filtered elements into a list // Printing the list of validated products System.out.println("List of validated products: " + validProducts); } }

Il codice filtra gli elementi dalla lista items, mantenendo solo quelli che iniziano con "product-". Il metodo peek() registra ogni elemento controllato e i prodotti validi vengono raccolti in una lista e stampati sulla console.

question mark

Cosa fa il metodo peek() nello Stream API?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 11

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you show me the code example for this scenario?

What does the output look like after running this code?

Can you explain how peek() is different from forEach()?

Awesome!

Completion rate improved to 2.33

bookElaborazione Intermedia con il Metodo Peek()

Scorri per mostrare il menu

Il metodo peek() consente di inserire log nella fase di elaborazione senza modificare il flusso di dati, permettendo poi di proseguire con le operazioni sugli elementi che superano il necessario filtro.

Stream<T> peek(Consumer<? super T> action);

Questo metodo accetta un oggetto che implementa l'interfaccia Consumer, il quale esegue un'operazione su ciascun elemento del flusso.

Esempio pratico

Una fabbrica deve ispezionare i prodotti per assicurarsi che i loro nomi inizino con "product-" e corrispondano a uno specifico pattern. Allo stesso tempo, è necessario registrare tutti i prodotti nell'elenco. I prodotti validi devono essere raccolti in una lista e stampati sulla console.

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> items = Arrays.asList("product-H31KD", "product-A12ZX", "item-X99KD", "product-B67QF", "product-12345", "invalidData"); // Example of using peek for logging and collecting filtered elements into a new list List<String> validProducts = items.stream() .peek(item -> System.out.println("Checking item: " + item)) .filter(item -> item.startsWith("product-")) .toList(); // Collecting filtered elements into a list // Printing the list of validated products System.out.println("List of validated products: " + validProducts); } }

Il codice filtra gli elementi dalla lista items, mantenendo solo quelli che iniziano con "product-". Il metodo peek() registra ogni elemento controllato e i prodotti validi vengono raccolti in una lista e stampati sulla console.

question mark

Cosa fa il metodo peek() nello Stream API?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 11
some-alt