Hente Sammendragsstatistikk for Strøm med summaryStatistics()-Metoden
Ved behandling av data er det ofte nødvendig å beregne statistiske mål som sum, gjennomsnitt, minimum, maksimum og antall elementer.
Du har allerede lært hvordan du finner minimums- og maksimumsverdier i en strøm, men det finnes en metode som samler alle disse statistikkene på én gang. Java Stream API tilbyr en dedikert metode kalt summaryStatistics(), som forenkler innhenting av samlede statistikker fra numeriske strømmer.
Metode summaryStatistics()
Stream API tilbyr også spesialiserte numeriske strømmer: IntStream, LongStream og DoubleStream. Disse fungerer på samme måte som vanlige strømmer, men er optimalisert for bestemte primitivtyper.
Hver av disse numeriske strømmene inkluderer en summaryStatistics()-metode, som returnerer en instans av IntSummaryStatistics, LongSummaryStatistics eller DoubleSummaryStatistics. Disse objektene inneholder sentrale statistiske mål, som antall, sum, min, maks og gjennomsnitt.
IntSummaryStatistics summaryStatistics();
LongSummaryStatistics summaryStatistics();
DoubleSummaryStatistics summaryStatistics();
Ved å kalle summaryStatistics() på en numerisk strøm, kan du raskt samle inn og analysere statistiske data om verdiene.
Viktige metoder
I Java brukes klassene IntSummaryStatistics, LongSummaryStatistics og DoubleSummaryStatistics til å samle inn statistikk over numeriske data. De tilbyr et sett med metoder for å hente ut sentrale statistiske mål.
Praktisk eksempel
I en nettbutikk må du analysere produktpriser for å fastslå minste og største pris, gjennomsnittspris og totalt antall varer.
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()); } }
I denne koden oppretter du en liste med produktpriser og konverterer den til en numerisk strøm. Metoden Collectors.summarizingInt(Integer::intValue) samler inn statistiske data og lagrer dem i et IntSummaryStatistics-objekt. Deretter bruker du metodene getMin(), getMax(), getAverage(), getCount() og getSum() for å hente ut nødvendige verdier.
Tilleggsmetoder
Metoden combine() slår sammen to statistikkobjekter. Dette er nyttig ved behandling av data i flere tråder eller når du skal konsolidere statistikk fra ulike kilder.
Metoden accept() legger manuelt til verdier i et statistikkobjekt, noe som er nyttig for dynamisk oppdatering av data.
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()); } }
I dette eksempelet oppretter du to IntSummaryStatistics objekter, hvor hver inneholder verdier lagt til ved bruk av accept()-metoden. Metoden combine() slår deretter sammen statistikken fra begge objektene, og oppdaterer det totale antallet, summen og min/maks-verdier.
Som et resultat inneholder stats1 nå de kombinerte statistikkene for alle tallene, som deretter skrives ut til konsollen.
1. Hvilken klasse brukes for å samle statistikk for int-verdier i Stream API?
2. Hvilken metode legger til en verdi i et IntSummaryStatistics-objekt?
3. Hvilken metode slår sammen to IntSummaryStatistics-objekter?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Hente Sammendragsstatistikk for Strøm med summaryStatistics()-Metoden
Sveip for å vise menyen
Ved behandling av data er det ofte nødvendig å beregne statistiske mål som sum, gjennomsnitt, minimum, maksimum og antall elementer.
Du har allerede lært hvordan du finner minimums- og maksimumsverdier i en strøm, men det finnes en metode som samler alle disse statistikkene på én gang. Java Stream API tilbyr en dedikert metode kalt summaryStatistics(), som forenkler innhenting av samlede statistikker fra numeriske strømmer.
Metode summaryStatistics()
Stream API tilbyr også spesialiserte numeriske strømmer: IntStream, LongStream og DoubleStream. Disse fungerer på samme måte som vanlige strømmer, men er optimalisert for bestemte primitivtyper.
Hver av disse numeriske strømmene inkluderer en summaryStatistics()-metode, som returnerer en instans av IntSummaryStatistics, LongSummaryStatistics eller DoubleSummaryStatistics. Disse objektene inneholder sentrale statistiske mål, som antall, sum, min, maks og gjennomsnitt.
IntSummaryStatistics summaryStatistics();
LongSummaryStatistics summaryStatistics();
DoubleSummaryStatistics summaryStatistics();
Ved å kalle summaryStatistics() på en numerisk strøm, kan du raskt samle inn og analysere statistiske data om verdiene.
Viktige metoder
I Java brukes klassene IntSummaryStatistics, LongSummaryStatistics og DoubleSummaryStatistics til å samle inn statistikk over numeriske data. De tilbyr et sett med metoder for å hente ut sentrale statistiske mål.
Praktisk eksempel
I en nettbutikk må du analysere produktpriser for å fastslå minste og største pris, gjennomsnittspris og totalt antall varer.
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()); } }
I denne koden oppretter du en liste med produktpriser og konverterer den til en numerisk strøm. Metoden Collectors.summarizingInt(Integer::intValue) samler inn statistiske data og lagrer dem i et IntSummaryStatistics-objekt. Deretter bruker du metodene getMin(), getMax(), getAverage(), getCount() og getSum() for å hente ut nødvendige verdier.
Tilleggsmetoder
Metoden combine() slår sammen to statistikkobjekter. Dette er nyttig ved behandling av data i flere tråder eller når du skal konsolidere statistikk fra ulike kilder.
Metoden accept() legger manuelt til verdier i et statistikkobjekt, noe som er nyttig for dynamisk oppdatering av data.
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()); } }
I dette eksempelet oppretter du to IntSummaryStatistics objekter, hvor hver inneholder verdier lagt til ved bruk av accept()-metoden. Metoden combine() slår deretter sammen statistikken fra begge objektene, og oppdaterer det totale antallet, summen og min/maks-verdier.
Som et resultat inneholder stats1 nå de kombinerte statistikkene for alle tallene, som deretter skrives ut til konsollen.
1. Hvilken klasse brukes for å samle statistikk for int-verdier i Stream API?
2. Hvilken metode legger til en verdi i et IntSummaryStatistics-objekt?
3. Hvilken metode slår sammen to IntSummaryStatistics-objekter?
Takk for tilbakemeldingene dine!