Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Het Berekenen van Streamstatistieken met Count(), Max() en Min() | Terminale Operaties in de Stream API
Quizzes & Challenges
Quizzes
Challenges
/
Stream-API

bookHet Berekenen van Streamstatistieken met Count(), Max() en Min()

In de programmeerwereld is het vaak nodig om het aantal elementen in een collectie te tellen of de minimum- en maximumwaarden te bepalen.

Toch schrijven programmeurs meestal geen eigen algoritmes voor deze taken, omdat er al ingebouwde methoden bestaan. De Stream API biedt handige methoden voor het werken met collecties, waarmee berekeningen op streamelementen mogelijk zijn.

Tot deze methoden behoren count(), max() en min(), die helpen het aantal elementen te bepalen en de grootste en kleinste waarden te vinden.

De count() Methode

De count()-methode geeft het aantal elementen in een stream terug. Deze wordt vaak gebruikt wanneer de grootte van een collectie na het filteren van gegevens bepaald moet worden.

long count();

Neemt geen parameters en retourneert een primitief long type.

Praktisch Voorbeeld

In een online winkel is het nodig om het aantal producten met een korting van meer dan 20% te tellen.

Main.java

Main.java

copy
123456789101112131415161718192021222324252627282930313233
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Product> products = List.of( new Product("Laptop", 15.0), new Product("Smartphone", 25.0), new Product("Tablet", 30.0) ); long discountedProducts = products.stream() .filter(product -> product.getDiscount() > 20.0) .count(); System.out.println("Number of products with more than 20% discount: " + discountedProducts); } } class Product { private String name; private double discount; public Product(String name, double discount) { this.name = name; this.discount = discount; } public double getDiscount() { return discount; } }

In dit voorbeeld selecteert de methode filter() producten met een korting van meer dan 20%, en bepaalt count() hun aantal.

De max()-methode

De max()-methode retourneert het maximale element in een stream op basis van een opgegeven Comparator. Als de stream leeg is, retourneert deze Optional.empty().

Optional<T> max(Comparator<? super T> comparator);

Praktisch Voorbeeld

Zoek het duurste product in een online winkel om het te promoten als een premium product.

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031323334353637383940
package com.example; import java.util.List; import java.util.Optional; import java.util.Comparator; public class Main { public static void main(String[] args) { List<Product> products = List.of( new Product("Laptop", 1200.0), new Product("Smartphone", 800.0), new Product("Tablet", 600.0) ); Optional<Product> mostExpensiveProduct = products.stream() .max(Comparator.comparing(Product::getPrice)); mostExpensiveProduct.ifPresent(product -> System.out.println("Most expensive product: " + product.getName() + " - $" + product.getPrice()) ); } } class Product { private String name; private double price; public Product(String name, double price) { this.name = name; this.price = price; } public double getPrice() { return price; } public String getName() { return name; } }

In deze code vergelijkt Comparator.comparing(Product::getPrice) producten op prijs, en selecteert max() het duurste product.

De min()-methode

De min()-methode lijkt op max(), maar retourneert het kleinste element in een stream gebaseerd op een opgegeven Comparator.

Optional<T> min(Comparator<? super T> comparator);

Praktisch voorbeeld

Zoek het product met de laagste voorraad om de noodzaak voor herbevoorrading te beoordelen.

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031323334353637383940
package com.example; import java.util.List; import java.util.Optional; import java.util.Comparator; public class Main { public static void main(String[] args) { List<Product> products = List.of( new Product("Laptop", 5), new Product("Smartphone", 0), new Product("Tablet", 2) ); Optional<Product> leastStockProduct = products.stream() .min(Comparator.comparing(Product::getStock)); leastStockProduct.ifPresent(product -> System.out.println("Product with the lowest stock: " + product.getName() + " - " + product.getStock() + " units") ); } } class Product { private String name; private int stock; public Product(String name, int stock) { this.name = name; this.stock = stock; } public int getStock() { return stock; } public String getName() { return name; } }

Deze code bepaalt het product met de laagste voorraad met behulp van de min() methode en Comparator.comparing(Product::getStock).

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 8

Vraag AI

expand

Vraag AI

ChatGPT

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

Awesome!

Completion rate improved to 2.33

bookHet Berekenen van Streamstatistieken met Count(), Max() en Min()

Veeg om het menu te tonen

In de programmeerwereld is het vaak nodig om het aantal elementen in een collectie te tellen of de minimum- en maximumwaarden te bepalen.

Toch schrijven programmeurs meestal geen eigen algoritmes voor deze taken, omdat er al ingebouwde methoden bestaan. De Stream API biedt handige methoden voor het werken met collecties, waarmee berekeningen op streamelementen mogelijk zijn.

Tot deze methoden behoren count(), max() en min(), die helpen het aantal elementen te bepalen en de grootste en kleinste waarden te vinden.

De count() Methode

De count()-methode geeft het aantal elementen in een stream terug. Deze wordt vaak gebruikt wanneer de grootte van een collectie na het filteren van gegevens bepaald moet worden.

long count();

Neemt geen parameters en retourneert een primitief long type.

Praktisch Voorbeeld

In een online winkel is het nodig om het aantal producten met een korting van meer dan 20% te tellen.

Main.java

Main.java

copy
123456789101112131415161718192021222324252627282930313233
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Product> products = List.of( new Product("Laptop", 15.0), new Product("Smartphone", 25.0), new Product("Tablet", 30.0) ); long discountedProducts = products.stream() .filter(product -> product.getDiscount() > 20.0) .count(); System.out.println("Number of products with more than 20% discount: " + discountedProducts); } } class Product { private String name; private double discount; public Product(String name, double discount) { this.name = name; this.discount = discount; } public double getDiscount() { return discount; } }

In dit voorbeeld selecteert de methode filter() producten met een korting van meer dan 20%, en bepaalt count() hun aantal.

De max()-methode

De max()-methode retourneert het maximale element in een stream op basis van een opgegeven Comparator. Als de stream leeg is, retourneert deze Optional.empty().

Optional<T> max(Comparator<? super T> comparator);

Praktisch Voorbeeld

Zoek het duurste product in een online winkel om het te promoten als een premium product.

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031323334353637383940
package com.example; import java.util.List; import java.util.Optional; import java.util.Comparator; public class Main { public static void main(String[] args) { List<Product> products = List.of( new Product("Laptop", 1200.0), new Product("Smartphone", 800.0), new Product("Tablet", 600.0) ); Optional<Product> mostExpensiveProduct = products.stream() .max(Comparator.comparing(Product::getPrice)); mostExpensiveProduct.ifPresent(product -> System.out.println("Most expensive product: " + product.getName() + " - $" + product.getPrice()) ); } } class Product { private String name; private double price; public Product(String name, double price) { this.name = name; this.price = price; } public double getPrice() { return price; } public String getName() { return name; } }

In deze code vergelijkt Comparator.comparing(Product::getPrice) producten op prijs, en selecteert max() het duurste product.

De min()-methode

De min()-methode lijkt op max(), maar retourneert het kleinste element in een stream gebaseerd op een opgegeven Comparator.

Optional<T> min(Comparator<? super T> comparator);

Praktisch voorbeeld

Zoek het product met de laagste voorraad om de noodzaak voor herbevoorrading te beoordelen.

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031323334353637383940
package com.example; import java.util.List; import java.util.Optional; import java.util.Comparator; public class Main { public static void main(String[] args) { List<Product> products = List.of( new Product("Laptop", 5), new Product("Smartphone", 0), new Product("Tablet", 2) ); Optional<Product> leastStockProduct = products.stream() .min(Comparator.comparing(Product::getStock)); leastStockProduct.ifPresent(product -> System.out.println("Product with the lowest stock: " + product.getName() + " - " + product.getStock() + " units") ); } } class Product { private String name; private int stock; public Product(String name, int stock) { this.name = name; this.stock = stock; } public int getStock() { return stock; } public String getName() { return name; } }

Deze code bepaalt het product met de laagste voorraad met behulp van de min() methode en Comparator.comparing(Product::getStock).

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 8
some-alt