java - 在对象数组上流式传输并收集以将键作为属性和对象作为值进行映射
问题描述
我有一个对象 Entity[],它具有像 Fields (Key:value) 这样的属性,因此要获取 field1 值 entity.getField(field1)。
我想创建一个地图 <field1Value, Object>
在通过 Arrays.stream().collect 使用 Collector 时需要帮助,命令式方法如下:
Entity[] entityRecords; //array of Entity
Map<String, Entity> newMap = new HashMap<>();
for (Entity entityRecord : entityRecords) {
newMap.put( entityRecord.getField(field), entityRecord);
}
return newMap;
解决方案
这是答案。我假设字段是实体中的一些属性
private Map<String, Entity> entityToMap() {
String field = "Somefield";
Entity[] entityRecords; //array of Entity
return Arrays.stream(entityRecords)
.collect(Collectors.toMap(e -> e.getField(field), Function.identity()));
}
推荐阅读
- statsmodels - satatsmodels 中的 VAR 模型(自回归)
- jquery - 数据表按键值定位行。检索内容并删除行
- kubernetes - 如何将 kubelet 端口映射到 POD
- javascript - 如何在生产模式下使用 React 运行 Express 应用
- google-cloud-platform - BigQuery 无法修改分区表架构
- javascript - 使用jquery时未检测到全局变量但没有错误
- mongodb - Grails使用spring security更新嵌入对象但没有编码密码
- javascript - 如何在 AJAX 请求上加载脚本?
- postgresql - PostgreSQL 表设计用于 Web 应用程序中的频繁“保存”操作
- ios - pngData 返回 UIImage