Click here to watch in Youtube :
https://www.youtube.com/watch?v=R57Nv_yD9xU&list=UUhwKlOVR041tngjerWxVccw
Product.java
https://sites.google.com/site/ramj2eev1/home/javabasics/StreamDemo_Collectors_group.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/StreamDemo_Collectors_group
Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/adf72ea7a150b1a34af5820c19f2232b522614b9/BasicJava/StreamDemo_Collectors_group/?at=master
See also:
All JavaEE Viedos Playlist
All JavaEE Viedos
All JAVA EE Links
Servlets Tutorial
All Design Patterns Links
JDBC Tutorial
Java Collection Framework Tutorial
JAVA Tutorial
Kids Tutorial
https://www.youtube.com/watch?v=R57Nv_yD9xU&list=UUhwKlOVR041tngjerWxVccw
Product.java
public class Product { private String name; private int price; public Product(String name, int price) { super(); this.name = name; this.price = price; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } @Override public String toString() { return "Product [name=" + name + ", price=" + price + "]"; } }StreamDemo.java
import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.stream.Collectors; public class StreamDemo { public static void main(String[] args) { List<Product> productList = Arrays.asList( new Product("potatoes", 15), new Product("orange", 15), new Product("lemon", 20), new Product("bread", 20), new Product("sugar", 30)); /* * Grouping of stream’s elements according to the specified * function: * * The stream was reduced to the Map which groups all products * by their price. */ Map<Integer, List<Product>> map = productList.stream() .collect(Collectors.groupingBy(Product::getPrice)); Set<Entry<Integer, List<Product>>> entrySet = map.entrySet(); for (Entry<Integer, List<Product>> entry : entrySet) { System.out.println(entry.getKey() +" = "+entry.getValue()); } System.out.println("---------------------------------------------------"); /* * Dividing stream’s elements into groups according to some * predicate: */ Map<Boolean, List<Product>> partionedMap = productList .stream().collect(Collectors.partitioningBy( element -> element.getPrice() > 25)); Set<Entry<Boolean, List<Product>>> partionedEntrySet = partionedMap.entrySet(); for (Entry<Boolean, List<Product>> entry : partionedEntrySet) { System.out.println(entry.getKey() +" = "+entry.getValue()); } } }Output
20 = [Product [name=lemon, price=20], Product [name=bread, price=20]] 30 = [Product [name=sugar, price=30]] 15 = [Product [name=potatoes, price=15], Product [name=orange, price=15]] --------------------------------------------------- false = [Product [name=potatoes, price=15], Product [name=orange, price=15], Product [name=lemon, price=20], Product [name=bread, price=20]] true = [Product [name=sugar, price=30]]Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/StreamDemo_Collectors_group.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/StreamDemo_Collectors_group
Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/adf72ea7a150b1a34af5820c19f2232b522614b9/BasicJava/StreamDemo_Collectors_group/?at=master
See also:
No comments:
Post a Comment