Java 1.8特性的练习
/**
* 对上一个接口进行过滤
* @param paperVoList
* @param paperType
* @param pageNum
* @param pageSize
* @return
*/
private List<PaperVo> getPaperVoTreeFilter(List<PaperVo> paperVoList, String paperType, Integer pageNum, Integer pageSize) {
int pageSizeShow = pageSize; // 每页的元素个数
int pageNumberShow = pageNum; // 页码,从1开始
int startIndex = (pageNumberShow - 1) * pageSizeShow; // 起始索引
int endIndex = startIndex + pageSizeShow; // 结束索引
return paperVoList = paperVoList.stream()
.filter(paperVo -> paperType.equals("0") || paperVo.getType().equals(paperType))//筛选type,0全部
.skip(startIndex)//第几页
.limit(pageSizeShow)//显示的页数
.collect(Collectors.toList());
}
/**
* 对接口方法getPartVoTree过滤
*
* @param list
* @param paperTestId testId
* @param pageNum 第几页
* @param pageSize 显示的页数
* @return
*/
private List<PaperPartVo> getPartVoTreeFilter(List<PaperPartVo> list, Integer paperTestId, Integer pageNum, Integer pageSize) {
int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, list.size());
return list.stream()
.filter(paperPartVo -> (paperTestId == null || paperTestId == 0) || paperPartVo.getTestId().equals(paperTestId))
.skip(startIndex)
.limit(pageSize)
.collect(Collectors.toList());
}
/**
* 对接口方法selectListByuserId过滤
* @param list 集合
* @param pageNum 第几页
* @param pageSize 显示的页数
* @return
*/
private List<PaperSubmitDetails> selectListByuserIdFilter(List<PaperSubmitDetails> list,Integer pageNum,Integer pageSize) {
int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, list.size());
return list.stream()
.skip(startIndex)
.limit(endIndex - startIndex)
.collect(Collectors.toList());
}