有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java流在对象数组上传输并收集到映射,键作为属性,对象作为值

我有一个对象,Entity[],它具有类似字段(Key:value)的属性,所以要得到field1值Entity。getField(字段1)

我想创建一张地图<;field1Value,Object>

需要通过阵列执行此操作的帮助。流()。使用收集器收集,命令方式如下:

Entity[] entityRecords; //array of Entity
Map<String, Entity> newMap = new HashMap<>(); 
for (Entity entityRecord : entityRecords) {
 newMap.put( entityRecord.getField(field), entityRecord);
 } 
return newMap;


共 (1) 个答案

  1. # 1 楼答案

    答案是这样的。我假设字段是实体中的某个属性

    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()));
    }