Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Stream-Samenvattingsstatistieken Ophalen met de summaryStatistics()-Methode | Terminale Operaties in de Stream API
Quizzes & Challenges
Quizzes
Challenges
/
Stream-API

bookStream-Samenvattingsstatistieken Ophalen met de summaryStatistics()-Methode

Bij het verwerken van gegevens is het vaak noodzakelijk om statistische kengetallen te berekenen, zoals som, gemiddelde, minimum, maximum en aantal elementen.

Je hebt al geleerd hoe je de minimum en maximum waarden in een stream kunt vinden, maar er is een methode die al deze statistieken tegelijk verzamelt. De Java Stream API biedt een speciale methode genaamd summaryStatistics(), die het ophalen van algemene statistieken uit numerieke streams vereenvoudigt.

Methode summaryStatistics()

De Stream API biedt ook gespecialiseerde numerieke streams: IntStream, LongStream en DoubleStream. Deze werken net als gewone streams, maar zijn geoptimaliseerd voor specifieke primitieve types.

Elk van deze numerieke streams bevat een summaryStatistics()-methode, die respectievelijk een instantie van IntSummaryStatistics, LongSummaryStatistics of DoubleSummaryStatistics retourneert. Deze objecten bevatten belangrijke statistische kengetallen, zoals count, sum, min, max en average.

IntSummaryStatistics summaryStatistics();
LongSummaryStatistics summaryStatistics();
DoubleSummaryStatistics summaryStatistics();

Door summaryStatistics() aan te roepen op een numerieke stream, kun je snel statistische gegevens over de waarden verzamelen en analyseren.

Belangrijkste methoden

In Java worden de klassen IntSummaryStatistics, LongSummaryStatistics en DoubleSummaryStatistics gebruikt om statistieken over numerieke gegevens te verzamelen. Ze bieden een reeks methoden voor het extraheren van belangrijke statistische kengetallen.

Praktisch voorbeeld

In een online winkel is het nodig om productprijzen te analyseren om de minimum- en maximumprijzen, de gemiddelde prijs en het totaal aantal artikelen te bepalen.

Main.java

Main.java

copy
1234567891011121314151617181920
package com.example; import java.util.List; import java.util.IntSummaryStatistics; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(1500, 2000, 3500, 1200, 4000, 2500); IntSummaryStatistics stats = prices.stream() .collect(Collectors.summarizingInt(Integer::intValue)); System.out.println("Minimum price: " + stats.getMin()); System.out.println("Maximum price: " + stats.getMax()); System.out.println("Average price: " + stats.getAverage()); System.out.println("Total number of items: " + stats.getCount()); System.out.println("Total sum: " + stats.getSum()); } }

In deze code wordt een lijst van productprijzen aangemaakt en omgezet in een numerieke stream. De methode Collectors.summarizingInt(Integer::intValue) verzamelt statistische gegevens en slaat deze op in een IntSummaryStatistics-object. Vervolgens worden de methoden getMin(), getMax(), getAverage(), getCount() en getSum() gebruikt om de benodigde waarden te verkrijgen.

Aanvullende methoden

De methode combine() voegt twee statistiekobjecten samen. Dit is nuttig bij het verwerken van gegevens in meerdere threads of bij het consolideren van statistieken uit verschillende bronnen.

De methode accept() voegt handmatig waarden toe aan een statistiekobject, wat handig is voor het dynamisch bijwerken van gegevens.

Main.java

Main.java

copy
1234567891011121314151617181920212223
package com.example; import java.util.IntSummaryStatistics; public class Main { public static void main(String[] args) { IntSummaryStatistics stats1 = new IntSummaryStatistics(); stats1.accept(1500); stats1.accept(2500); IntSummaryStatistics stats2 = new IntSummaryStatistics(); stats2.accept(3500); stats2.accept(4500); stats1.combine(stats2); System.out.println("Minimum price: " + stats1.getMin()); System.out.println("Maximum price: " + stats1.getMax()); System.out.println("Average price: " + stats1.getAverage()); System.out.println("Total number of items: " + stats1.getCount()); System.out.println("Total sum: " + stats1.getSum()); } }

In dit voorbeeld maak je twee IntSummaryStatistics objecten aan, elk met waarden toegevoegd via de accept()-methode. De combine()-methode voegt vervolgens de statistieken van beide objecten samen, waarbij het totale aantal, de som en de min/max-waarden worden bijgewerkt.

Hierdoor bevat stats1 nu de gecombineerde statistieken van alle getallen, die vervolgens naar de console worden geprint.

1. Welke klasse wordt gebruikt om statistieken te verzamelen voor int-waarden in de Stream API?

2. Welke methode voegt een waarde toe aan een IntSummaryStatistics-object?

3. Welke methode voegt twee IntSummaryStatistics-objecten samen?

question mark

Welke klasse wordt gebruikt om statistieken te verzamelen voor int-waarden in de Stream API?

Select the correct answer

question mark

Welke methode voegt een waarde toe aan een IntSummaryStatistics-object?

Select the correct answer

question mark

Welke methode voegt twee IntSummaryStatistics-objecten samen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 9

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

What is the difference between summaryStatistics() and using individual methods like min() or max()?

Can you explain how to use summaryStatistics() with DoubleStream or LongStream?

How does the combine() method work in parallel processing scenarios?

Awesome!

Completion rate improved to 2.33

bookStream-Samenvattingsstatistieken Ophalen met de summaryStatistics()-Methode

Veeg om het menu te tonen

Bij het verwerken van gegevens is het vaak noodzakelijk om statistische kengetallen te berekenen, zoals som, gemiddelde, minimum, maximum en aantal elementen.

Je hebt al geleerd hoe je de minimum en maximum waarden in een stream kunt vinden, maar er is een methode die al deze statistieken tegelijk verzamelt. De Java Stream API biedt een speciale methode genaamd summaryStatistics(), die het ophalen van algemene statistieken uit numerieke streams vereenvoudigt.

Methode summaryStatistics()

De Stream API biedt ook gespecialiseerde numerieke streams: IntStream, LongStream en DoubleStream. Deze werken net als gewone streams, maar zijn geoptimaliseerd voor specifieke primitieve types.

Elk van deze numerieke streams bevat een summaryStatistics()-methode, die respectievelijk een instantie van IntSummaryStatistics, LongSummaryStatistics of DoubleSummaryStatistics retourneert. Deze objecten bevatten belangrijke statistische kengetallen, zoals count, sum, min, max en average.

IntSummaryStatistics summaryStatistics();
LongSummaryStatistics summaryStatistics();
DoubleSummaryStatistics summaryStatistics();

Door summaryStatistics() aan te roepen op een numerieke stream, kun je snel statistische gegevens over de waarden verzamelen en analyseren.

Belangrijkste methoden

In Java worden de klassen IntSummaryStatistics, LongSummaryStatistics en DoubleSummaryStatistics gebruikt om statistieken over numerieke gegevens te verzamelen. Ze bieden een reeks methoden voor het extraheren van belangrijke statistische kengetallen.

Praktisch voorbeeld

In een online winkel is het nodig om productprijzen te analyseren om de minimum- en maximumprijzen, de gemiddelde prijs en het totaal aantal artikelen te bepalen.

Main.java

Main.java

copy
1234567891011121314151617181920
package com.example; import java.util.List; import java.util.IntSummaryStatistics; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(1500, 2000, 3500, 1200, 4000, 2500); IntSummaryStatistics stats = prices.stream() .collect(Collectors.summarizingInt(Integer::intValue)); System.out.println("Minimum price: " + stats.getMin()); System.out.println("Maximum price: " + stats.getMax()); System.out.println("Average price: " + stats.getAverage()); System.out.println("Total number of items: " + stats.getCount()); System.out.println("Total sum: " + stats.getSum()); } }

In deze code wordt een lijst van productprijzen aangemaakt en omgezet in een numerieke stream. De methode Collectors.summarizingInt(Integer::intValue) verzamelt statistische gegevens en slaat deze op in een IntSummaryStatistics-object. Vervolgens worden de methoden getMin(), getMax(), getAverage(), getCount() en getSum() gebruikt om de benodigde waarden te verkrijgen.

Aanvullende methoden

De methode combine() voegt twee statistiekobjecten samen. Dit is nuttig bij het verwerken van gegevens in meerdere threads of bij het consolideren van statistieken uit verschillende bronnen.

De methode accept() voegt handmatig waarden toe aan een statistiekobject, wat handig is voor het dynamisch bijwerken van gegevens.

Main.java

Main.java

copy
1234567891011121314151617181920212223
package com.example; import java.util.IntSummaryStatistics; public class Main { public static void main(String[] args) { IntSummaryStatistics stats1 = new IntSummaryStatistics(); stats1.accept(1500); stats1.accept(2500); IntSummaryStatistics stats2 = new IntSummaryStatistics(); stats2.accept(3500); stats2.accept(4500); stats1.combine(stats2); System.out.println("Minimum price: " + stats1.getMin()); System.out.println("Maximum price: " + stats1.getMax()); System.out.println("Average price: " + stats1.getAverage()); System.out.println("Total number of items: " + stats1.getCount()); System.out.println("Total sum: " + stats1.getSum()); } }

In dit voorbeeld maak je twee IntSummaryStatistics objecten aan, elk met waarden toegevoegd via de accept()-methode. De combine()-methode voegt vervolgens de statistieken van beide objecten samen, waarbij het totale aantal, de som en de min/max-waarden worden bijgewerkt.

Hierdoor bevat stats1 nu de gecombineerde statistieken van alle getallen, die vervolgens naar de console worden geprint.

1. Welke klasse wordt gebruikt om statistieken te verzamelen voor int-waarden in de Stream API?

2. Welke methode voegt een waarde toe aan een IntSummaryStatistics-object?

3. Welke methode voegt twee IntSummaryStatistics-objecten samen?

question mark

Welke klasse wordt gebruikt om statistieken te verzamelen voor int-waarden in de Stream API?

Select the correct answer

question mark

Welke methode voegt een waarde toe aan een IntSummaryStatistics-object?

Select the correct answer

question mark

Welke methode voegt twee IntSummaryStatistics-objecten samen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 9
some-alt