Collectors este o clasă finală care extinde clasa Object. Oferă operațiuni de reducere, cum ar fi acumularea elementelor în colecții, rezumarea elementelor după diverse criterii etc.
Clasa Java Collectors oferă diverse metode de a face față elementelor
ce este modulo în c++
Metode | Descriere |
---|---|
Media statică publică a colectorului Double (ToDoubleFunction mapper) | Returnează un colector care produce media aritmetică a unei funcții cu două valori aplicate elementelor de intrare. Dacă nu sunt prezente elemente, rezultatul este 0. |
Reducerea colectorului static public (identitate T, operațiune BinaryOperator) | Returnează un colector care efectuează o reducere a elementelor sale de intrare sub un Operator Binar specificat folosind identitatea furnizată. |
colector public static | Returnează un Colector care efectuează o reducere a elementelor sale de intrare sub un Operator Binar specificat. Rezultatul este descris ca opțional. |
Reducerea colectorului static public (identitate U, mapator de funcții, operațiune BinaryOperator) | Returnează un colector care efectuează o reducere a elementelor sale de intrare sub o funcție de mapare specificată și BinaryOperator. Aceasta este o generalizare a reducerii (Object, BinaryOperator) care permite o transformare a elementelor înainte de reducere. |
colector public static | Returnează un Colector care implementează o operație „grupare după” pe elementele de intrare de tip T, grupând elemente în funcție de o funcție de clasificare și returnând rezultatele într-o Hartă. |
colector public static | Returnează un colector care implementează o operație „grupare după” în cascadă pe elementele de intrare de tip T, grupând elemente în funcție de o funcție de clasificare și apoi efectuând o operație de reducere a valorilor asociate cu o anumită cheie utilizând colectorul din aval specificat. |
static public | Returnează un colector care implementează o operație „grupare după” în cascadă pe elementele de intrare de tip T, grupând elemente în funcție de o funcție de clasificare și apoi efectuând o operație de reducere a valorilor asociate cu o anumită cheie utilizând colectorul din aval specificat. Harta produsă de Colector este creată cu funcția furnizată din fabrică. |
colector public static | Returnează un colector concurent care implementează o operație „grupare după” pe elementele de intrare de tip T, grupând elementele conform unei funcții de clasificare. |
colector public static | Returnează un colector concurent care implementează o operație „grupare după” în cascadă pe elementele de intrare de tip T, grupând elemente în funcție de o funcție de clasificare și apoi efectuând o operațiune de reducere a valorilor asociate cu o anumită cheie utilizând colectorul din aval specificat. |
static public | Returnează un colector concurent care implementează o operație „grupare după” în cascadă pe elementele de intrare de tip T, grupând elemente în funcție de o funcție de clasificare și apoi efectuând o operațiune de reducere a valorilor asociate cu o anumită cheie utilizând colectorul din aval specificat. ConcurrentMap produs de colector este creat cu funcția furnizată din fabrică. |
colector public static | Returnează un colector care partiţionează elementele de intrare în funcţie de un predicat şi le organizează într-o hartă |
colector public static | Returnează un colector care partiţionează elementele de intrare în funcţie de un predicat, reduce valorile din fiecare partiţie în funcţie de un alt colector şi le organizează într-o hartă ale cărei valori sunt rezultatul reducerii din aval. |
colector public static | Returnează un colector care acumulează elemente într-o hartă ale cărei chei și valori sunt rezultatul aplicării funcțiilor de mapare furnizate la elementele de intrare. |
colector public static | Returnează un colector care acumulează elemente într-o hartă ale cărei chei și valori sunt rezultatul aplicării funcțiilor de mapare furnizate la elementele de intrare. |
static public | Returnează un colector care acumulează elemente într-o hartă ale cărei chei și valori sunt rezultatul aplicării funcțiilor de mapare furnizate la elementele de intrare. |
colector public static | Returnează un colector concurent care acumulează elemente într-un ConcurrentMap ale cărui chei și valori sunt rezultatul aplicării funcțiilor de mapare furnizate la elementele de intrare. |
colector public static | Returnează un colector concurent care acumulează elemente într-un ConcurrentMap ale cărui chei și valori sunt rezultatul aplicării funcțiilor de mapare furnizate la elementele de intrare. |
static public | Returnează un colector concurent care acumulează elemente într-un ConcurrentMap ale cărui chei și valori sunt rezultatul aplicării funcțiilor de mapare furnizate la elementele de intrare. |
colector public static summarizingInt(ToIntFunction mapper) | Returnează un colector care aplică o funcție de mapare care produce int fiecărui element de intrare și returnează statistici rezumative pentru valorile rezultate. |
colector public static summarizingLong(ToLongFunction mapper) | Returnează un colector care aplică o funcție de mapare de lungă durată fiecărui element de intrare și returnează statistici rezumative pentru valorile rezultate. |
public static Collector summarizingDouble(ToDoubleFunction mapper) | Returnează un colector care aplică o funcție de mapare cu producție dublă fiecărui element de intrare și returnează statistici rezumative pentru valorile rezultate. |
Exemplu de colectori Java: Preluarea datelor ca o listă
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); } }
Ieșire:
[25000.0, 30000.0, 28000.0, 28000.0, 90000.0]
Exemplu de colectori Java: conversia datelor ca set
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); } }
Ieșire:
[25000.0, 30000.0, 28000.0, 90000.0]
Exemplu de colectori Java: folosind metoda sum
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); } }
Ieșire:
Sum of prices: 201000.0 Sum of id's: 15
Exemplu de colectori Java: obținerea prețului mediu al produsului
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); } }
Ieșire:
indicator în c
Average price is: 40200.0
Exemplu de colectori Java: Numărarea elementelor
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); } }
Ieșire:
Total elements : 5