Цоллецторс је коначна класа која проширује класу Објецт. Обезбеђује операције редукције, као што су акумулирање елемената у колекције, сумирање елемената према различитим критеријумима итд.
Јава Цоллецторс класа пружа различите методе за рад са елементима
Методе | Опис |
---|---|
публиц статиц Цоллецтор аверагингДоубле(ТоДоублеФунцтион мапер) | Враћа колектор који производи аритметичку средину функције двоструке вредности примењене на улазне елементе. Ако нема присутних елемената, резултат је 0. |
јавно статичко смањење колектора (Т идентитет, БинарниОператор оп) | Враћа Цоллецтор који врши редукцију својих улазних елемената под специфицираним Бинарним Оператором користећи дати идентитет. |
јавни статички колектор | Враћа колектор који врши редукцију својих улазних елемената под специфицираним Бинарним Оператором. Резултат је описан као Опциони. |
јавно статичко смањење колектора (У идентитет, мапер функција, бинарни оператор оп) | Враћа Цоллецтор који врши редукцију својих улазних елемената под специфицираном функцијом мапирања и Бинарним Оператором. Ово је генерализација редукције (Објецт, БинариОператор) која дозвољава трансформацију елемената пре редукције. |
јавни статички колектор | Враћа колектор који имплементира операцију 'гроуп би' на улазним елементима типа Т, групише елементе према класификационој функцији и враћа резултате у мапи. |
јавни статички колектор | Враћа колектор који имплементира каскадну операцију 'групирања по' на улазним елементима типа Т, групише елементе према класификационој функцији, а затим изводи операцију редукције на вредностима повезаним са датим кључем користећи специфицирани низводни колектор. |
јавна статична | Враћа колектор који имплементира каскадну операцију 'групирања по' на улазним елементима типа Т, групише елементе према класификационој функцији, а затим изводи операцију редукције на вредностима повезаним са датим кључем користећи специфицирани низводни колектор. Мапа коју је направио Колекционар креирана је са испорученом фабричком функцијом. |
јавни статички колектор | Враћа истовремени колектор који имплементира операцију 'гроуп би' на улазним елементима типа Т, груписајући елементе према класификационој функцији. |
јавни статички колектор | Враћа истовремени колектор који имплементира каскадну операцију 'групирања по' на улазним елементима типа Т, групише елементе према класификационој функцији, а затим изводи операцију редукције на вредностима повезаним са датим кључем користећи специфицирани низводни колектор. |
јавна статична | Враћа истовремени колектор који имплементира каскадну операцију 'групирања по' на улазним елементима типа Т, групише елементе према класификационој функцији, а затим изводи операцију редукције на вредностима повезаним са датим кључем користећи специфицирани низводни колектор. ЦонцуррентМап коју производи Цоллецтор креира се са испорученом фабричком функцијом. |
јавни статички колектор | Враћа колектор који дели улазне елементе према предикату и организује их у мапу |
јавни статички колектор | Враћа колектор који дели улазне елементе према предикату, смањује вредности у свакој партицији према другом колектору и организује их у мапу чије су вредности резултат редукције низводно. |
јавни статички колектор | Враћа колектор који акумулира елементе у мапу чији су кључеви и вредности резултат примене датих функција мапирања на улазне елементе. |
јавни статички колектор | Враћа колектор који акумулира елементе у мапу чији су кључеви и вредности резултат примене датих функција мапирања на улазне елементе. |
јавна статична | Враћа колектор који акумулира елементе у мапу чији су кључеви и вредности резултат примене датих функција мапирања на улазне елементе. |
јавни статички колектор | Враћа истовремени колектор који акумулира елементе у ЦонцуррентМап чији су кључеви и вредности резултат примене датих функција мапирања на улазне елементе. |
јавни статички колектор | Враћа истовремени колектор који акумулира елементе у ЦонцуррентМап чији су кључеви и вредности резултат примене датих функција мапирања на улазне елементе. |
јавна статична | Враћа истовремени колектор који акумулира елементе у ЦонцуррентМап чији су кључеви и вредности резултат примене датих функција мапирања на улазне елементе. |
публиц статиц Цоллецтор суммаризингИнт(ТоИнтФунцтион мапер) | Враћа Цоллецтор који примењује функцију мапирања која производи инт на сваки улазни елемент и враћа збирну статистику за резултујуће вредности. |
публиц статиц Цоллецтор суммаризингЛонг(ТоЛонгФунцтион мапер) | Враћа Цоллецтор који примењује функцију пресликавања која се дуго производи на сваки улазни елемент и враћа збирну статистику за резултујуће вредности. |
публиц статиц Цоллецтор суммаризингДоубле(ТоДоублеФунцтион мапер) | Враћа Цоллецтор који примењује функцију пресликавања двоструке производње на сваки улазни елемент и враћа збирну статистику за резултујуће вредности. |
Пример Јава колектора: Дохваћање података као листе
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 productsList = new ArrayList(); //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)); List productPriceList = productsList.stream() .map(x->x.price) // fetching price .collect(Collectors.toList()); // collecting as list System.out.println(productPriceList); } }
Излаз:
[25000.0, 30000.0, 28000.0, 28000.0, 90000.0]
Пример Јава Цоллецторс: Конвертовање података као скупа
import java.util.stream.Collectors; import java.util.Set; import java.util.List; import java.util.ArrayList; classProduct{ intid; String name; floatprice; public Product(intid, String name, floatprice) { this.id = id; this.name = name; this.price = price; } } publicclass CollectorsExample { publicstaticvoid main(String[] args) { ListproductsList = new ArrayList(); //Adding Products productsList.add(newProduct(1,'HP Laptop',25000f)); productsList.add(newProduct(2,'Dell Laptop',30000f)); productsList.add(newProduct(3,'Lenevo Laptop',28000f)); productsList.add(newProduct(4,'Sony Laptop',28000f)); productsList.add(newProduct(5,'Apple Laptop',90000f)); SetproductPriceList = productsList.stream() .map(x->x.price) // fetching price .collect(Collectors.toSet()); // collecting as list System.out.println(productPriceList); } }
Излаз:
јава програмска петља
[25000.0, 30000.0, 28000.0, 90000.0]
Јава Цоллецторс Пример: коришћење методе сума
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 productsList = new ArrayList(); //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 sumPrices = productsList.stream() .collect(Collectors.summingDouble(x->x.price)); // collecting as list System.out.println('Sum of prices: '+sumPrices); Integer sumId = productsList.stream().collect(Collectors.summingInt(x->x.id)); System.out.println('Sum of id's: '+sumId); } }
Излаз:
Sum of prices: 201000.0 Sum of id's: 15
Пример Јава Цоллецторс: Добивање просечне цене производа
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 productsList = new ArrayList(); //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
Јава Цоллецторс Пример: Бројање елемената
import java.util.stream.Collectors; import java.util.List; import java.util.ArrayList; class Product{ intid; String name; floatprice; public Product(intid, String name, floatprice) { this.id = id; this.name = name; this.price = price; } publicint getId() { returnid; } public String getName() { returnname; } publicfloat getPrice() { returnprice; } } publicclass CollectorsExample { publicstaticvoid main(String[] args) { ListproductsList = new ArrayList(); //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)); Long noOfElements = productsList.stream() .collect(Collectors.counting()); System.out.println('Total elements : '+noOfElements); } }
Излаз:
Total elements : 5