1. forEach 函數(shù)使用
通過 forEach 函數(shù),指定 list 里面的每個(gè)變量均執(zhí)行函數(shù)體里面的代碼。
List<TaskExcuteVo> list = JSON.parseObject(str, new TypeReference<List<TaskExcuteVo>>() {});
List<Integer> failList = new ArrayList<>(list.size());
list.forEach(taskExcuteVo -> {
failList.add(taskExcuteVo.getCaseFailCount() + taskExcuteVo.getCaseLockCount());
});
2. stream().map
將一個(gè) list 里面部分字段組裝成另一個(gè)list
List<Integer> projectIdList = new ArrayList<>();
List<Project> projects = projectService.selectProjectAll(0);
projectIdList = projects.stream()
.map(Project::getProjectId)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
3. steam().collect
將 list 里面部分字段組裝成 map
/**
* 生成 id -> user 的 Map
*/
public Map<Long, User> getUserMapByIds(List<Integer> userIds) {
List<User> users = getUsersByIds(userIds);
return users.stream().collect(Collectors.toMap(User::getUserId, Function.identity(), (k1, k2) -> k1));
}
4. stream().anyMatch
anyMatch:判斷的條件里,任意一個(gè)元素滿足條件,返回true
allMatch:判斷條件里的元素,所有的元素都滿足條件,返回true
noneMatch:與allMatch相反,判斷條件里的元素,所有的元素都不滿足條件,返回true
return shouldNotFilterAntPatterns.stream()
.anyMatch(p -> antPathMatcher.match(p, urlPathHelper.getRequestUri(request)));
未完待續(xù)。。。