Kolekcionāri ir pēdējā klase, kas paplašina objektu klasi. Tas nodrošina samazināšanas darbības, piemēram, elementu uzkrāšanu kolekcijās, elementu apkopošanu pēc dažādiem kritērijiem utt.
Java Collectors klase nodrošina dažādas metodes, kā rīkoties ar elementiem
Metodes | Apraksts |
---|---|
publisks statisks savācēju vidējais rādītājsDouble (ToDoubleFunction kartētājs) | Tas atgriež savācēju, kas ģenerē ievades elementiem lietotās dubultās vērtības funkcijas vidējo aritmētisko. Ja elementu nav, rezultāts ir 0. |
publiska statiskā kolektora samazināšana (T identitāte, BinaryOperator op) | Tas atgriež savācēju, kas veic savu ievades elementu samazināšanu noteiktā BinaryOperator, izmantojot norādīto identitāti. |
publisks statisks Kolekcionārs | Tas atgriež savācēju, kas veic savu ievades elementu samazināšanu noteiktā BinaryOperator. Rezultāts ir aprakstīts kā neobligāts. |
publiska statiskā kolektora samazināšana (U identitāte, funkciju kartētājs, binārais operators) | Tas atgriež savācēju, kas veic savu ievades elementu samazināšanu saskaņā ar noteiktu kartēšanas funkciju un BinaryOperator. Šis ir reducēšanas (Object, BinaryOperator) vispārinājums, kas ļauj pārveidot elementus pirms samazināšanas. |
publisks statisks Kolekcionārs | Tas atgriež savācēju, kas ievieš operāciju “grupēt pēc” T tipa ievades elementiem, grupējot elementus atbilstoši klasifikācijas funkcijai un atgriežot rezultātus kartē. |
publisks statisks Kolekcionārs | Tas atgriež kolekcionāru, kas ievieš kaskādes darbību “grupēt pēc” T tipa ievades elementiem, grupējot elementus atbilstoši klasifikācijas funkcijai un pēc tam veicot samazināšanas darbību vērtībām, kas saistītas ar doto atslēgu, izmantojot norādīto pakārtoto kolektoru. |
publiska statiska | Tas atgriež kolekcionāru, kas ievieš kaskādes darbību “grupēt pēc” T tipa ievades elementiem, grupējot elementus atbilstoši klasifikācijas funkcijai un pēc tam veicot samazināšanas darbību vērtībām, kas saistītas ar doto atslēgu, izmantojot norādīto pakārtoto kolektoru. Kolekcionāra izgatavotā karte tiek veidota ar piegādāto rūpnīcas funkciju. |
publisks statisks Kolekcionārs | Tas atgriež vienlaicīgu savācēju, kas ievieš operāciju “grupēt pēc” T tipa ievades elementiem, grupējot elementus atbilstoši klasifikācijas funkcijai. |
publisks statisks Kolekcionārs | Tas atgriež vienlaicīgu kolekcionāru, kas ievieš kaskādes darbību “grupēt pēc” T tipa ievades elementiem, grupējot elementus atbilstoši klasifikācijas funkcijai un pēc tam veicot samazināšanas darbību vērtībām, kas saistītas ar doto atslēgu, izmantojot norādīto pakārtoto kolektoru. |
publiska statiska | Tas atgriež vienlaicīgu kolekcionāru, kas ievieš kaskādes darbību “grupēt pēc” T tipa ievades elementiem, grupējot elementus atbilstoši klasifikācijas funkcijai un pēc tam veicot samazināšanas darbību vērtībām, kas saistītas ar doto atslēgu, izmantojot norādīto pakārtoto kolektoru. Collector ražotā ConcurrentMap tiek izveidota ar piegādāto rūpnīcas funkciju. |
publisks statisks Kolekcionārs | Tas atgriež savācēju, kas sadala ievades elementus saskaņā ar predikātu un sakārto tos kartē |
publisks statisks Kolekcionārs | Tas atgriež savācēju, kas sadala ievades elementus saskaņā ar predikātu, samazina vērtības katrā nodalījumā atbilstoši citam savācējam un sakārto tās kartē, kuras vērtības ir pakārtotā samazinājuma rezultāts. |
publisks statisks Kolekcionārs | Tas atgriež savācēju, kas uzkrāj elementus kartē, kuras atslēgas un vērtības ir iegūtas, ievades elementiem piemērojot sniegtās kartēšanas funkcijas. |
publisks statisks Kolekcionārs | Tas atgriež savācēju, kas uzkrāj elementus kartē, kuras atslēgas un vērtības ir iegūtas, ievades elementiem piemērojot sniegtās kartēšanas funkcijas. |
publiska statiska | Tas atgriež savācēju, kas uzkrāj elementus kartē, kuras atslēgas un vērtības ir iegūtas, ievades elementiem piemērojot sniegtās kartēšanas funkcijas. |
publisks statisks Kolekcionārs | Tas atgriež vienlaicīgu savācēju, kas uzkrāj elementus ConcurrentMap, kura atslēgas un vērtības ir iegūtas, ievades elementiem piemērojot nodrošinātās kartēšanas funkcijas. |
publisks statisks Kolekcionārs | Tas atgriež vienlaicīgu savācēju, kas uzkrāj elementus ConcurrentMap, kura atslēgas un vērtības ir iegūtas, ievades elementiem piemērojot nodrošinātās kartēšanas funkcijas. |
publiska statiska | Tas atgriež vienlaicīgu savācēju, kas uzkrāj elementus ConcurrentMap, kura atslēgas un vērtības ir iegūtas, ievades elementiem piemērojot nodrošinātās kartēšanas funkcijas. |
publisks statisks Collector summarisingInt (ToIntFunction kartētājs) | Tas atgriež savācēju, kas katram ievades elementam piemēro int-rades kartēšanas funkciju, un atgriež iegūto vērtību kopsavilkuma statistiku. |
publisks statisks Kolekcionāra apkopojumsLong (ToLongFunction kartētājs) | Tas atgriež savācēju, kas katram ievades elementam piemēro ilgstoši veidojošu kartēšanas funkciju, un atgriež iegūto vērtību kopsavilkuma statistiku. |
publisks statisks Kolekcionāra apkopojumsDouble (ToDoubleFunction kartētājs) | Tas atgriež savācēju, kas katram ievades elementam piemēro dubultas kartēšanas funkciju, un atgriež iegūto vērtību kopsavilkuma statistiku. |
Java kolekciju piemērs: datu iegūšana kā saraksts
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); } }
Izvade:
[25000.0, 30000.0, 28000.0, 28000.0, 90000.0]
Java kolekciju piemērs: datu konvertēšana kā kopa
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); } }
Izvade:
[25000.0, 30000.0, 28000.0, 90000.0]
Java Collectors Piemērs: izmantojot summas metodi
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); } }
Izvade:
Sum of prices: 201000.0 Sum of id's: 15
Java kolekcionāru piemērs: produkta vidējās cenas iegūšana
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); } }
Izvade:
Average price is: 40200.0
Java kolekciju piemērs: Elementu skaitīšana
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); } }
Izvade:
ja vēl paziņojums java
Total elements : 5