Intermediaire Verwerking met de peek()-Methode
De peek()-methode maakt het mogelijk om logging toe te voegen tijdens de verwerkingsfase zonder de datastroom te wijzigen, waarna verdere bewerkingen kunnen worden uitgevoerd op elementen die aan de vereiste filtering voldoen.
Stream<T> peek(Consumer<? super T> action);
Deze methode accepteert een object dat de Consumer-interface implementeert, waarmee een bewerking wordt uitgevoerd op elk streamelement.
Praktisch Voorbeeld
Een fabriek moet producten inspecteren om te waarborgen dat hun namen beginnen met "product-" en overeenkomen met een specifiek patroon. Tegelijkertijd wilt u alle producten in de lijst loggen. Geldige producten moeten worden verzameld in een lijst en afgedrukt naar de console.
Main.java
123456789101112131415161718192021package 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); } }
De code filtert elementen uit de items lijst, waarbij alleen die behouden blijven die beginnen met "product-". De peek() methode logt elk gecontroleerd element, en de geldige producten worden verzameld in een lijst en afgedrukt naar de console.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 2.33
Intermediaire Verwerking met de peek()-Methode
Veeg om het menu te tonen
De peek()-methode maakt het mogelijk om logging toe te voegen tijdens de verwerkingsfase zonder de datastroom te wijzigen, waarna verdere bewerkingen kunnen worden uitgevoerd op elementen die aan de vereiste filtering voldoen.
Stream<T> peek(Consumer<? super T> action);
Deze methode accepteert een object dat de Consumer-interface implementeert, waarmee een bewerking wordt uitgevoerd op elk streamelement.
Praktisch Voorbeeld
Een fabriek moet producten inspecteren om te waarborgen dat hun namen beginnen met "product-" en overeenkomen met een specifiek patroon. Tegelijkertijd wilt u alle producten in de lijst loggen. Geldige producten moeten worden verzameld in een lijst en afgedrukt naar de console.
Main.java
123456789101112131415161718192021package 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); } }
De code filtert elementen uit de items lijst, waarbij alleen die behouden blijven die beginnen met "product-". De peek() methode logt elk gecontroleerd element, en de geldige producten worden verzameld in een lijst en afgedrukt naar de console.
Bedankt voor je feedback!