El método groupingBy() de la clase Collectors en Java se usa para agrupar objetos por alguna propiedad y almacenar resultados en una instancia de Map. Para usarlo, siempre necesitamos especificar una propiedad por la cual se realizaría la agrupación. Este método proporciona una funcionalidad similar a la cláusula GROUP BY de SQL.
Sintaxis:
public static Collector<T, ?, Map<K, List>> groupingBy (clasificador de función)
Parámetro de tipo: este método toma dos parámetros de tipo:
- T- Es el tipo de los elementos de entrada.
- K- Es el tipo de elementos de entrada a convertir.
Parámetros: Este método acepta dos parámetros obligatorios:
- Función : es la propiedad que se aplicará a los elementos de entrada.
- Clasificador : se utiliza para asignar elementos de entrada al mapa de destino.
Valor de retorno: Devuelve un colector como un mapa.
A continuación se muestra la implementación del programa del método groupingBy():
Programa 1:
Java
// Java program to demonstrate // Collectors groupingBy() method import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; public class GFG { public static void main(String[] args) { // Get the List List<String> g = Arrays.asList("geeks", "for", "geeks"); // Collect the list as map // by groupingBy() method Map<String, Long> result = g.stream().collect( Collectors.groupingBy( Function.identity(), Collectors.counting())); // Print the result System.out.println(result); } }
{geeks=2, for=1}
Publicación traducida automáticamente
Artículo escrito por suman_ptnl y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA