java是否存在具有不同值类型的多重映射
我的应用程序需要一个多值映射,其键有两种类型的值,比如List和String。Map可以返回所有值,也可以根据get(key,type)中的type参数返回单个值
在spring或apache多值映射中都找不到这样的功能。 是否有其他库提供这种数据结构,或者我必须实现自己的数据结构
你可以在下面搜索框中键入要查询的问题!
我的应用程序需要一个多值映射,其键有两种类型的值,比如List和String。Map可以返回所有值,也可以根据get(key,type)中的type参数返回单个值
在spring或apache多值映射中都找不到这样的功能。 是否有其他库提供这种数据结构,或者我必须实现自己的数据结构
# 1 楼答案
在Java8中添加具有不同值的lamda表达式的multimap有点容易。下面是示例代码。你可以试试
computeIfAbsent()方法接受一个键和一个lambda。如果该键不存在,则运行computeFabSent()并创建新的HashMap
getOrDefault()方法返回值,如果发现键为null,则返回空集
用这个
# 2 楼答案
创建自己的对象
当你实例化你的地图时:
如果你走这条路,你可以自由地做任何事
# 3 楼答案
那么:
获取时,提供
key
和type
:插入的工作原理如下: