Vo // 查询的对象
voList // 查询返回的 结果list
parentId // 要汇总的字段 , 它是Vo对象的一个字段
voList // 查询返回的 结果list
parentId // 要汇总的字段 , 它是Vo对象的一个字段
下面是用java代码实现数据库的group by功能
Map<String, List<Vo>> parentMap = new HashMap<String,List<Vo>>() ; //结果集Map
for(Vo vo : voList ) {
List<Vo> subList = parentMap.get(vo.getParentId) ;
if(subList == null ) { // 新分组字段进入时
subList = new ArrayList<Vo>() ;
map.put(vo.getParentid, subList) ; // map得到subList的指针
}
subList.add(vo) ;
}
-- 使用 guava
// 实例化 ArrayListMultimap 对象
Multimap<String, Vo> multiMap = ArrayListMultimap.create() ;
for(Vo vo : voList) {
multiMap.put( vo.getParentId(), vo) ;
}