java - 使用 Lambda java 8 验证和更改对象列表中的值
问题描述
Mood Pojo (nameOfMood, Score, Category)
Mood happyMood = new Mood("Happy", 10, POSITIVE);
Mood sadMood = new Mood("Sad", 1, NEGATIVE);
Mood confusedMood = new Mood("Confused", 6, NEGATIVE);
Mood irritatedMood = new Mood("Irritated", 5, NEGATIVE);
Mood blessedMood = new Mood("Blessed", 10, POSITIVE);
检查分数是否大于 5,将类别值更新为正面并将所有正面类别情绪获取到Map<String(nameOfMood), Mood>
使用单行 lambda 或流函数
解决方案
如果您知道分数 < 5 肯定不会有积极的情绪。否则,您应该将分数低于 5 的人添加到此列表中。
List<Mood> mood = Arrays.asList(happyMood, sadMood, ...);
Map<String(nameOfMood), Mood> result = mood.stream()
.filter(e-> e.getScore() > 5)
.peek(e-> e.setCategory("Positive"))
.map(Collectors.toMap(e->e.nameOfMood(), e));
推荐阅读
- rest - 向 Vuforia 的 Web 服务发出 POST 请求总是会导致“失败”,即使 PUT 请求总是使用相同的方法/主体工作
- r - R:如何从 XY 数据框中检测和绘制多边形边缘
- android - 视频无法在 WebView android 中呈现
- javascript - How to convert a date to ISO format but with timezone info in place of the 'Z' in Javascript?
- php - Facebook Custom Audience Marketing API / Graph API 提供 200 ok 状态,但什么也不做
- image - 如何在 oracle apex 中显示图像(在表格中保存为 LONG RAW 数据类型的图像)
- python-3.x - PostgreSQL 和 PostGIS 用于提取 ROI 多边形覆盖的特定区域
- c# - 可枚举类型属性的元素的属性的路径表达式
- python - C++ 对 Python 的扩展——安全的内存访问和内存布局
- sprite - 在 2-D 游戏中碰撞时,什么可能导致精灵停止定向运动(精灵仍然有动画)?