AveragingDouble/Long/Int is a collector that simply returns an average of extracted elements.
Output:
Learn Java 8 at https://www.javaguides.net/p/java-8.html
Java Collectors Example: Getting Product Average Price
import java.util.stream.Collectors; import java.util.List; import java.util.ArrayList; class Product{ int id; String name; float price; public Product(int id, String name, float price) { this.id = id; this.name = name; this.price = price; } } public class CollectorsExample { public static void main(String[] args) { List<Product> productsList = new ArrayList<Product>(); //Adding Products productsList.add(new Product(1,"HP Laptop",25000f)); productsList.add(new Product(2,"Dell Laptop",30000f)); productsList.add(new Product(3,"Lenevo Laptop",28000f)); productsList.add(new Product(4,"Sony Laptop",28000f)); productsList.add(new Product(5,"Apple Laptop",90000f)); Double average = productsList.stream() .collect(Collectors.averagingDouble(p->p.price)); System.out.println("Average price is: "+average); } }
Average price is: 40200.0
Comments
Post a Comment