我想按属性对对象列表进行分组,然后使用(Key,Value)对迭代结果.
我已经在Java 8中找到了使用如下属性对对象列表进行分组的方法
// filteredPageLog has the filtered results from PageLog entity. Map<String,List<PageLog>> results = filteredPageLog.stream().collect(Collectors.groupingBy(p -> p.getSessionId()));
但结果将只有入口集(在entrySet属性中有值). keySet和valueSet将具有空值.我想迭代一些类似的东西
results.forEach((key,value) -> { //logic });
解决方法
使用
results.entrySet().forEach(entry -> { var key = entry.getKey(); var value = entry.getValue(); //logic });