Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Välivaiheen Käsittely Peek()-Menetelmällä | Välimuotoiset Operaatiot Stream API:ssa
Stream API

bookVälivaiheen Käsittely Peek()-Menetelmällä

peek()-metodi mahdollistaa lokituksen lisäämisen käsittelyvaiheessa muuttamatta datavirtaa, minkä jälkeen voidaan jatkaa operaatioita niille alkioille, jotka läpäisevät tarvittavan suodatuksen.

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

Tämä metodi ottaa vastaan olion, joka toteuttaa Consumer-rajapinnan ja suorittaa operaation jokaiselle virran alkiolle.

Käytännön esimerkki

Tehtaan tulee tarkastaa tuotteet varmistaakseen, että niiden nimet alkavat merkkijonolla "product-" ja vastaavat tiettyä kuviota. Samalla halutaan kirjata kaikki tuotteet listasta. Kelvolliset tuotteet kerätään listaan ja tulostetaan konsoliin.

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

Koodi suodattaa elementit items-listasta, säilyttäen vain ne, jotka alkavat merkkijonolla "product-". peek()-metodi kirjaa jokaisen tarkastetun elementin, ja kelvolliset tuotteet kerätään listaan ja tulostetaan konsoliin.

question mark

Mitä peek()-metodi tekee Stream API:ssa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 11

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookVälivaiheen Käsittely Peek()-Menetelmällä

Pyyhkäise näyttääksesi valikon

peek()-metodi mahdollistaa lokituksen lisäämisen käsittelyvaiheessa muuttamatta datavirtaa, minkä jälkeen voidaan jatkaa operaatioita niille alkioille, jotka läpäisevät tarvittavan suodatuksen.

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

Tämä metodi ottaa vastaan olion, joka toteuttaa Consumer-rajapinnan ja suorittaa operaation jokaiselle virran alkiolle.

Käytännön esimerkki

Tehtaan tulee tarkastaa tuotteet varmistaakseen, että niiden nimet alkavat merkkijonolla "product-" ja vastaavat tiettyä kuviota. Samalla halutaan kirjata kaikki tuotteet listasta. Kelvolliset tuotteet kerätään listaan ja tulostetaan konsoliin.

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

Koodi suodattaa elementit items-listasta, säilyttäen vain ne, jotka alkavat merkkijonolla "product-". peek()-metodi kirjaa jokaisen tarkastetun elementin, ja kelvolliset tuotteet kerätään listaan ja tulostetaan konsoliin.

question mark

Mitä peek()-metodi tekee Stream API:ssa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 11
some-alt