注:
List<ForumPlateVo> list = new ArrayList<>();
list.add.......忽略一万字
ForumPlateVo属性:clickNum(点击量)、replyNum(回复量)、newReplyTime(最新回复时间)、postNum(帖子量)
1、计算总量
(int)list.stream().mapToInt(n -> n.getClickNum()).summaryStatistics().getSum()
(int)list.stream().mapToInt(n -> n.getReplyNum()).summaryStatistics().getSum()
2、获取最近时间
long date = list.stream().filter(x -> x!=null).filter(y -> y.getNewReplyTime()!=null).mapToLong(n -> n.getNewReplyTime().getTime()).summaryStatistics().getMax();
if(date>0) forumPlateVo.setNewReplyTime(new Date(date));
3、根据点击量排序
list = list.stream().sorted(Comparator.comparing(ForumPlateVo::clickNum).reversed()).collect(Collectors.toList());
4、group by 获取size
int count = list.stream().collect(groupingBy(ActivityLottery::getOpenId)).size();