_.group
public static <T, K> Map<K, List<T>> group(Stream<T> dataStream, Function<? super T, ? extends K> keyApply)
public static <T, K, V> Map<K, List<V>> group(Stream<T> dataStream, Function<? super T, ? extends K> keyApply,
Function<? super T, ? extends V> valueApply)
参数
- dataSources
(List<T>)
待参加计算的数据信息。 - keyApply 分组项,作为map的key
- valueApply 数据转换器,作为map的value
返回值
Map<K, List<V>
返回一个Map类型分组结果
例子
List<Person> peoples = Arrays.asList(
new Person(12, "孙悟空"),
new Person(12, "猪八戒"),
new Person(12, "孙悟空")
);
Map<String, List<Person>> group = EnhanceStream.group(peoples, Person::getName);
Console.log(group);
//=>{孙悟空=[Person{age=12, name='孙悟空'}, Person{age=12, name='孙悟空'}], 猪八戒=[Person{age=12, name='猪八戒'}]}
Map<String, List<String>> nameList = EnhanceStream.group(peoples, Person::getName,Person::getName);
Console.log(nameList);
//=>{孙悟空=[孙悟空, 孙悟空], 猪八戒=[猪八戒]}