Stream-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
1234567891011121314151617181920package 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
1234567891011121314151617181920212223package 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?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Stream-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
1234567891011121314151617181920package 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
1234567891011121314151617181920212223package 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?
Bedankt voor je feedback!