logo

Java Toplayıcıları

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ıazaltma (İkili Operatör işlemi) 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ı> groupingBy(Fonksiyon sınıflandırı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ıgroupingBy(Fonksiyon sınıflandırıcı, Toplayıcı aşağı akış) 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 statikCollector groupingBy(Fonksiyon sınıflandırıcı, Tedarikçi haritasıFactory, Toplayıcı aşağı akış) 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ı> groupingByConcurrent(Fonksiyon sınıflandırı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ıgroupingByConcurrent(Fonksiyon sınıflandırıcı, Toplayıcı aşağı akış) 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 statikToplayıcı gruplandırmaByConcurrent(Fonksiyon sınıflandırıcı, Tedarikçi haritasıFactory, Toplayıcı aşağı akış) 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ı> partitioningBy(Yüklem yüklemi) Giriş öğelerini bir Tahmine göre bölümleyen ve bunları bir Harita halinde düzenleyen bir Toplayıcı döndürür. . Döndürülen Haritanın türü, değiştirilebilirliği, serileştirilebilirliği veya iş parçacığı güvenliği konusunda hiçbir garanti yoktur.
genel statik ToplayıcıpartitioningBy(Yüklem yüklemi, Toplayıcı aşağı akış) 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ıtoMap(Function keyMapper, Function valueMapper) 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ıtoMap ( Function keyMapper , Function valueMapper , BinaryOperator mergeFunction ) . 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 statikToplayıcıdan Haritaya(İşlev anahtarı Eşleştiricisi, İşlev değeri Eşleştiricisi, İkili İşleç birleştirme İşlevi, Tedarikçi haritası Tedarikçisi) 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ıtoConcurrentMap(Function keyMapper, Function valueMapper) 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ıtoConcurrentMap(Function keyMapper, Function valueMapper, BinaryOperator mergeFunction) 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 statikCollector to ConcurrentMap(Function keyMapper, Function valueMapper, BinaryOperator mergeFunction, Tedarikçi haritasıTedarikçi) 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