大家相信对Java8后的Lambda表达在Java中的一些常规使用应该时经常使用,在这篇文章中我把一些经典的使用场景进行记录分享,希望能帮助到大家。同时如果有觉得使用不够优雅的同学也可以在评论区提意见或者建议哦。
- 列表转换类型
List< A > to List< B >
eg:遍历redis中的一个key集合,并将值转换成jso列表返回
String CSDN_USER=“csdn_user_”;
//传统方式
List<JSONObject> lists = new ArrayList();
Set<String> keys = stringRedisTemplate.keys(CSDN_USER + "*");
keys.stream().forEach(k -> {
lists.add(JSONObject.parseObject(stringRedisTemplate.opsForValue().get(k)));
});
//lambda方式
List<JSONObject> collect = stringRedisTemplate.keys(CSDN_USER + "*")
.stream()
.map(k -> JSONObject.parseObject(stringRedisTemplate.opsForValue().get(k)))
.collect(Collectors.toList());
- 列表匹配定向元素值
List < A > 是否包含 A.name=XX 的元素
eg:查询列表是否包含某接口