import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Map<String,Object>> list = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
map.put("id","11111");
map.put("name","2222222");
map.put("pro","kkkk");
list.add(map);
map = new HashMap<>();
map.put("id","11111");
map.put("name","2222222");
map.put("pro","kkkkddddd");
list.add(map);
Map<HashMap<String, Object>, List<Object>> collect = list.stream()
.collect(Collectors.groupingBy(e -> {
HashMap<String, Object> map1 = new HashMap(){
@Override
public boolean equals(Object obj) {
boolean b = this.get("id").equals(((Map) obj).get("id"));
return b;
}
@Override
public int hashCode()
{
return this.get("id").hashCode();
}
};
map1.putAll(e);
return map1;
}, Collectors.mapping(e -> e.get("pro"), Collectors.toList())));
System.out.print(collect);
}
}