Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Intermediär Bearbetning med Peek()-Metoden | Intermediära Operationer i Stream API
Stream API

bookIntermediär Bearbetning med Peek()-Metoden

Metoden peek() möjliggör införande av loggning i bearbetningssteget utan att ändra datastreamen, och därefter fortsätta med operationer på element som passerar nödvändig filtrering.

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

Denna metod tar emot ett objekt som implementerar Consumer-gränssnittet, vilket utför en operation på varje streamelement.

Praktiskt exempel

En fabrik behöver inspektera produkter för att säkerställa att deras namn börjar med "product-" och matchar ett specifikt mönster. Samtidigt önskas en loggning av alla produkter i listan. Giltiga produkter ska samlas i en lista och skrivas ut till konsolen.

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); } }

Koden filtrerar element från listan items och behåller endast de som börjar med "product-". Metoden peek() loggar varje kontrollerat element, och de giltiga produkterna samlas i en lista och skrivs ut till konsolen.

question mark

Vad gör metoden peek() i Stream API?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 11

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 2.33

bookIntermediär Bearbetning med Peek()-Metoden

Svep för att visa menyn

Metoden peek() möjliggör införande av loggning i bearbetningssteget utan att ändra datastreamen, och därefter fortsätta med operationer på element som passerar nödvändig filtrering.

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

Denna metod tar emot ett objekt som implementerar Consumer-gränssnittet, vilket utför en operation på varje streamelement.

Praktiskt exempel

En fabrik behöver inspektera produkter för att säkerställa att deras namn börjar med "product-" och matchar ett specifikt mönster. Samtidigt önskas en loggning av alla produkter i listan. Giltiga produkter ska samlas i en lista och skrivas ut till konsolen.

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); } }

Koden filtrerar element från listan items och behåller endast de som börjar med "product-". Metoden peek() loggar varje kontrollerat element, och de giltiga produkterna samlas i en lista och skrivs ut till konsolen.

question mark

Vad gör metoden peek() i Stream API?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 11
some-alt