当前位置: 首页 > 知识库问答 >
问题:

使用键值在映射中返回entryset

孙泉
2023-03-14

我有两个字符串值ID和值来自我的代码,我需要将其存储在映射中,而不是遍历映射,而是通过检查键值是否存在于映射中。ID可以多次使用不同的值,在这种情况下,我将它添加到ID的现有条目中,并将值与现有值一起添加

我用String和List创建了一个映射来添加值,但我面临着困难,

Map >accessMap=new HashMap >();

如果键不存在,则添加一个带有ID和值的新条目(作为列表)。

如何在地图中找到关键字并获取entrySet,而无需遍历地图并单独添加值,如果ID已经存在于地图中。

while(accessList.hasNext()){


....


....

String id = accessEntry.get(ID);

String value = accessEntry.get(Value);


/*Add the id and value to the map if not present, if ID is present add the    *value alone to the entrySet.Value (which is a list)
*/

}

accessList可能有许多具有不同值的ID引用,在这种情况下,该值应该添加到已经存在的条目的entrySet中,该值将是一个具有单个值或多个值的列表。

共有1个答案

匡凌
2023-03-14
public static void add(Map<String, Set<String>> map, String key, String value) {
    map.compute(key, (id, values) -> {
        (values = Optional.ofNullable(values).orElseGet(LinkedHashSet::new)).add(value);
        return values;
    });
}

对于值,最好使用set来排除重复。

 类似资料:
  • 我正在使用grpc网关,我想公开一个带有以下json响应的api: “属性”中的值是动态的,并且事先不知道。 到目前为止,我的原型定义是: 但这会产生这样的反应: 如何修改proto,使属性以json映射的形式返回,而不需要额外的键入信息?

  • 输入是一个哈希映射,比如 我想写一个方法,返回类型A的列表,其中有键,值属性与字符串类型,和键值从hashmap。 如何让它成为现实?

  • 我正在测试返回地图的控制器 测试: 我应该使用哪个表达式从映射中读取键和值? 编辑:解决这个问题的方法可能是: 然后循环通过地图检查值。但是,有没有一种方法可以使用<code>jsonPath</code>来实现这一点?

  • 假设我们有一个键-值映射的数据结构,其中键本身也是一个键-值映射。例如: 现在,假设我们要查询此映射中与键的某个键值子集匹配的所有顶级键/值。示例: 我们的查询是“给我所有key值,其中key包含,它将返回第一个和第三个值将返回所有同时具有和的键值,生成第二个值。显然,我们可以在每一个查询的完整地图中进行搜索,但我正在寻找比这更高效的方法。 我四处查看了一下,但是找不到一个高效、易用的C解决方案。

  • 大家晚上好,我正在尝试用controller/Service/Dao/DaoImpl/和Mapper实现一个jdbctemplate模型。。。但从模型来看,映射器需要实现RowMapper或ParameterizedRowMapper,两者都有一个不返回列表的maprow方法。当我需要一个列表时,我在映射器中实现了一个方法来获得我需要的列表。但我不知道该怎么称呼它。在customerList方法中

  • 问题内容: 我目前正在尝试制作一个将动词与西班牙语共轭的程序。我创建了一个哈希表,其中包含一个键和对象Ve​​rb的实例化。键是具有动词不定式形式的字符串(例如“ hablar”)。这是到目前为止我对哈希映射的代码: HashMap中每个动词的键都基于动词的不定式形式。例如,字符串“ hablar”是西班牙语动词的键。Verb类具有一个名为getInfinitive()的方法,该方法返回一个字符串