logo

Јава Цоллецторс

Цоллецторс је коначна класа која проширује класу Објецт. Обезбеђује операције редукције, као што су акумулирање елемената у колекције, сумирање елемената према различитим критеријумима итд.

Јава Цоллецторс класа пружа различите методе за рад са елементима

Методе Опис
публиц статиц Цоллецтор аверагингДоубле(ТоДоублеФунцтион мапер) Враћа колектор који производи аритметичку средину функције двоструке вредности примењене на улазне елементе. Ако нема присутних елемената, резултат је 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