如何在java中向现有的List Map对象添加新的键值

问题描述 投票:0回答:3

在下面的代码中,我正在获取文档地图,我想向文档对象添加新的键和值。

public List<Map<String, Object>> getDocuments() {
    String sql = "Select * from docs";
    List<Map<String, Object>> Documents = jdbcTemplateObject.queryForList(sql);
    return Documents;
}

输出:

[{Id=DOC10,Name=Test Document,Date=10-12-17}],
[{Id=DOC11,Name=Sample Document,Date=15-12-17}]

如何向此

List<Map>
对象添加新的 k,v 以使输出看起来像这样?

[{Id=DOC10,Name=Test Document,Date=10-12-17,Access=true}],
[{Id=DOC11,Name=Sample Document,Date=15-12-17,Access=true}]
java data-structures hashmap
3个回答
6
投票

您可以迭代列表并向每个映射添加新的键值对:

for(Map<String, Object> map : Documents){
     map.put("Access", true);
}

0
投票

另一个解决方案,取决于

jdbcTemplateObject.queryForList(sql);
所做的事情是在查询中添加值。

select *, 1 as Access from docs

这似乎会迭代每一列以将其插入到

Map
中。

注意:查询不一定独立于 DBMS! Boolean 并不是真正的 SQL 类型


0
投票

迭代 List> Documents 并获取 Map 对象并将键值对放入该 Map 对象中 e,g

List<Map<String, Object>> Documents = jdbcTemplateObject.queryForList(sql);
    for (Map<String, Object> map : Documents) {
        map.put(key, value);
    }
© www.soinside.com 2019 - 2024. All rights reserved.