java - 根据查找表添加列表对象中不存在的值
问题描述
我有一个像这样的域对象,
class PGRatingConfig {
// other fields
private List<Rating> rating;
}
class Rating {
String id;
String value;
}
我有一个像这样的产品组的查找表
Map<String, String> map = new HashMap<>();
map.add("1", "Soap");
map.add("2", "Cleaner");
我List<PGRatingConfig>
从数据库中获取它,它并不总是包含查找表中的所有数据。例如,它会返回一个PGRatingConfig
作为soap
Rating
PGRatingConfig
// some fields
Rating [
pgId: soap
value: 3
]
我想从查找表中添加其他值,Cleaner
默认值为3
. 现在PGRatingConfig
看起来像
// some fields
Rating [{
pgId: soap,
value: 3},
{pgId:cleaner,
value: 4
}
]
我将如何添加这些?
解决方案
您可以迭代地图的条目并添加它们。
PGRatingConfig pg = <some defined instance with some products added>
for (Entry<String,String> entry : map.entrySet()) {
pg.addRating(new Rating(entry.getKey(), entry.getValue()));
}
这是修改后的类可能的样子
class PGRatingConfig {
// other fields
private List<Rating> rating;
public void addRating(Rating r) {
rating.add(r);
}
// other methods as needed
}
class Rating {
private String id;
private String value;
public Rating(String id, String value) {
this.id = id;
this.value = value;
}
// getters
}
注意:要向地图添加条目,请使用put
而不是add
推荐阅读
- python - 如何使用 Discord.py 从 Twitter 链接嵌入信息?
- azure-iot-edge - IoT Edge 模块如何在仍位于边缘的同时将消息路由到已注册的设备?
- python - 当我收到此错误消息时,如何在 PyCharm 中安装 openpyxl
- apache-kafka - Prometheus 异常/异常值检测与分组 [kafka 消费者组滞后]
- javascript - 是否可以将对象函数传递给 Javascript 中的按钮 onClick 事件?
- python - Cx-freeze:编译成 .exe 和 Pytesseract 的 Python 程序在其他用户电脑上不起作用
- python - 如何创建一个随机的 one-hot 编码的 pandas 行?
- python - 放弃耗时过长的差分进化目标函数评估
- mysql - CakePhp ORM中的belongsTo里面的关系belongsTo?
- algorithm - 从时间序列中提取模式