В своей самой популярной реализации, он в качестве параметра принимает функцию, которая получает из каждого элемента, некое значение, по которому они будут сгруппированы в Map, в которой ключом будет результат, возвращаемый функцией, а значением - List элементов, для которых эта функция вернула это же значение.