Java Lamda 表達(dá)式用法舉例

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ù)。。。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容