Collectors, Object sınıfını genişleten son sınıftır. Öğelerin koleksiyonlarda biriktirilmesi, öğelerin çeşitli kriterlere göre özetlenmesi vb. gibi indirgeme işlemleri sağlar.
Java Collectors sınıfı, öğelerle başa çıkmak için çeşitli yöntemler sağlar
Yöntemler | Tanım |
---|---|
public static Collector averagingDouble(ToDoubleFunction eşleyicisi) | Giriş öğelerine uygulanan çift değerli bir fonksiyonun aritmetik ortalamasını üreten bir Toplayıcı döndürür. Hiçbir öğe mevcut değilse sonuç 0'dır. |
public static Collector azaltma (T kimliği, BinaryOperator op) | Belirtilen kimliği kullanarak, belirtilen BinaryOperator altında giriş öğelerinin azaltılmasını gerçekleştiren bir Collector döndürür. |
genel statik Toplayıcı | Belirtilen bir BinaryOperator altında giriş öğelerinin azaltılmasını gerçekleştiren bir Collector döndürür. Sonuç İsteğe Bağlı olarak tanımlanır. |
public static Collector azaltma (U kimliği, İşlev eşleyici, BinaryOperator op) | Belirtilen bir eşleme işlevi ve BinaryOperator altında giriş öğelerinin azaltılmasını gerçekleştiren bir Collector döndürür. Bu, indirgemeden önce elemanların dönüştürülmesine izin veren indirgemenin (Object, BinaryOperator) bir genellemesidir. |
genel statik Toplayıcı | T tipi giriş elemanları üzerinde 'gruplama ölçütü' işlemi uygulayan, elemanları bir sınıflandırma fonksiyonuna göre gruplandıran ve sonuçları bir Haritada döndüren bir Toplayıcı döndürür. |
genel statik Toplayıcı | T tipi giriş öğeleri üzerinde kademeli bir 'gruplandırma ölçütü' işlemi uygulayan, öğeleri bir sınıflandırma işlevine göre gruplandıran ve ardından belirtilen aşağı akış Toplayıcıyı kullanarak belirli bir anahtarla ilişkili değerler üzerinde bir azaltma işlemi gerçekleştiren bir Toplayıcı döndürür. |
genel statik | T tipi giriş öğeleri üzerinde kademeli bir 'gruplandırma ölçütü' işlemi uygulayan, öğeleri bir sınıflandırma işlevine göre gruplandıran ve ardından belirtilen aşağı akış Toplayıcıyı kullanarak belirli bir anahtarla ilişkili değerler üzerinde bir azaltma işlemi gerçekleştiren bir Toplayıcı döndürür. Collector tarafından üretilen Harita, sağlanan fabrika işleviyle oluşturulur. |
genel statik Toplayıcı | Öğeleri bir sınıflandırma işlevine göre gruplandırarak, T tipi giriş öğeleri üzerinde bir 'gruplama ölçütü' işlemi uygulayan eşzamanlı bir Toplayıcı döndürür. |
genel statik Toplayıcı | T tipi giriş öğeleri üzerinde kademeli bir 'gruplama ölçütü' işlemi uygulayan, öğeleri bir sınıflandırma işlevine göre gruplandıran ve ardından belirtilen aşağı akış Toplayıcıyı kullanarak belirli bir anahtarla ilişkili değerler üzerinde bir azaltma işlemi gerçekleştiren eşzamanlı bir Toplayıcı döndürür. |
genel statik | T tipi giriş öğeleri üzerinde kademeli bir 'gruplama ölçütü' işlemi uygulayan, öğeleri bir sınıflandırma işlevine göre gruplandıran ve ardından belirtilen aşağı akış Toplayıcıyı kullanarak belirli bir anahtarla ilişkili değerler üzerinde bir azaltma işlemi gerçekleştiren eşzamanlı bir Toplayıcı döndürür. Collector tarafından üretilen ConcurrentMap, sağlanan fabrika işleviyle oluşturulur. |
genel statik Toplayıcı | Giriş öğelerini bir Tahmine göre bölümleyen ve bunları bir Harita halinde düzenleyen bir Toplayıcı döndürür. |
genel statik Toplayıcı | Giriş öğelerini bir Tahmine göre bölümleyen, her bölümdeki değerleri başka bir Toplayıcıya göre azaltan ve bunları, değerleri aşağı yöndeki indirgemenin sonucu olan bir Harita halinde düzenleyen bir Toplayıcı döndürür. |
genel statik Toplayıcı | Anahtarları ve değerleri, sağlanan eşleme işlevlerinin giriş öğelerine uygulanmasının sonucu olan öğeleri bir Haritada toplayan bir Toplayıcı döndürür. |
genel statik Toplayıcı | Anahtarları ve değerleri, sağlanan eşleme işlevlerinin giriş öğelerine uygulanmasının sonucu olan öğeleri bir Haritada toplayan bir Toplayıcı döndürür. |
genel statik | Anahtarları ve değerleri, sağlanan eşleme işlevlerinin giriş öğelerine uygulanmasının sonucu olan bir Haritada öğeleri toplayan bir Toplayıcı döndürür. |
genel statik Toplayıcı | Anahtarları ve değerleri, sağlanan eşleme işlevlerinin giriş öğelerine uygulanmasının sonucu olan öğeleri bir ConcurrentMap'te toplayan eşzamanlı bir Collector döndürür. |
genel statik Toplayıcı | Anahtarları ve değerleri, sağlanan eşleme işlevlerinin giriş öğelerine uygulanmasının sonucu olan öğeleri bir ConcurrentMap'te toplayan eşzamanlı bir Collector döndürür. |
genel statik | Anahtarları ve değerleri, sağlanan eşleme işlevlerinin giriş öğelerine uygulanmasının sonucu olan öğeleri bir ConcurrentMap'te toplayan eşzamanlı bir Collector döndürür. |
public static Collector summarizingInt(ToIntFunction eşleyicisi) | Her giriş öğesine int üreten bir eşleme işlevi uygulayan bir Toplayıcı döndürür ve elde edilen değerler için özet istatistikler döndürür. |
public static Collector özetleyenLong(ToLongFunction eşleyicisi) | Her giriş öğesine uzun süreli bir eşleme işlevi uygulayan bir Toplayıcı döndürür ve elde edilen değerler için özet istatistikler döndürür. |
public static Collector özetleyenDouble(ToDoubleFunction eşleyicisi) | Her giriş öğesine çift üreten bir eşleme işlevi uygulayan bir Toplayıcı döndürür ve elde edilen değerler için özet istatistikler döndürür. |
Java Kollektörleri Örneği: Verileri Liste Olarak Getirme
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); } }
Çıktı:
[25000.0, 30000.0, 28000.0, 28000.0, 90000.0]
Java Kollektörleri Örneği: Verileri Küme Olarak Dönüştürme
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); } }
Çıktı:
[25000.0, 30000.0, 28000.0, 90000.0]
Java Kollektörleri Örneği: toplam yöntemini kullanma
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); } }
Çıktı:
Sum of prices: 201000.0 Sum of id's: 15
Java Koleksiyoncuları Örneği: Ürünün Ortalama Fiyatını Alma
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); } }
Çıktı:
Average price is: 40200.0
Java Kollektörleri Örneği: Öğeleri Sayma
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); } }
Çıktı:
Total elements : 5