Lambda常用

查找类

获取某个实体记录

LambdaQueryWrapper<Entry> activitiesQuery = Wrappers.<Entry>lambdaQuery()
                .eq(Entry::getId, id)
                .eq(Entry::getDelFlag, "0")
                .last(" limit 1 ");

以实体里某个属性为KEY,实体为Value。
(v1, v2) -> v1):有重复的key,取第一个实体为Value。

Map<String, Entry> entryMap = entryList.stream().collect(Collectors.toMap(Entry::getId, v -> v, (v1, v2) -> v1));

以实体某个属性为KEY,另一个属性为Value

Map<String, String> entryMap = entryList.stream().collect(Collectors.toMap(Entry::getId, Entry::getName));

收集实体的某个属性的集合,去重

Set<String> fieldSet = entryList.stream().map(Entry::getType).collect(Collectors.toSet());

List转Set

Set<String> fieldSet = fieldList.stream().collect(Collectors.toSet());

数量去重

  long count = entryList.stream().map(Entry::getName).distinct().count();

删除

entryService.remove(Wrappers.<Entry>lambdaQuery().eq(Entry::getId, id));

更新

LambdaUpdateWrapper<Entry> updateWrapper = new LambdaUpdateWrapper<>();

updateWrapper.eq(Entry::getId, id).set(Entry::getNum, num).set(Entry::getUpdateTime, LocalDateTime.now());

entryService.update(null, updateWrapper );
Java开发中,Lambda表达式是一个非常重要的新特性,它可以让我们的代码更优雅、更简洁。常用Lambda表达式有以下几种: 1. List转Map:通过Lambda表达式可以将一个List集合转换为Map集合。例如,可以通过stream().collect(Collectors.toMap())方法来实现将一个List中的元素转换为Map的key和value。 2. 集合的遍历和过滤:通过Lambda表达式可以对集合进行遍历和过滤操作。例如,可以使用stream().forEach()方法对集合中的每个元素进行遍历操作,使用stream().filter()方法对集合中的元素进行条件过滤。 3. 集合的排序:通过Lambda表达式可以对集合进行排序。例如,可以使用stream().sorted()方法对集合中的元素进行排序操作,可以指定排序的规则。 4. 集合的映射和归约:通过Lambda表达式可以对集合进行映射和归约操作。例如,可以使用stream().map()方法对集合中的元素进行映射操作,可以使用stream().reduce()方法对集合中的元素进行归约操作。 综上所述,Lambda表达式在Java开发中有着广泛的应用,可以使我们的代码更加简洁和易于理解。通过掌握常用Lambda表达式用法,可以提高我们的开发效率和代码质量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java常用Lambda表达式](https://blog.youkuaiyun.com/suhaoxu/article/details/127710600)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Java 常用的几个lambda表达式](https://blog.youkuaiyun.com/weixin_39958911/article/details/114536905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值