如果我在Java中有Map Map并且我初始化了外部地图,那么内部地图的值是什么(null或new Map())?
例如,我有:
Map<User, Map<Component, Float>> summaryByEmp = new TreeMap<>();
现在,内部地图的价值是什么?我是否也需要初始化?
答案 0 :(得分:3)
您在此处对Map
的理解有问题。做
Map<User, Map<Component, Float>> outerMap = new TreeMap<User, Map<Component, Float>>()
初始化TreeMap
引用的outerMap
。 type参数只表示,要放置的键必须是User
类型,键的值必须是Map<Component, Float>
类型。没什么。
因此,当您插入所提及类型的键值对时,将其插入TreeMap
。
答案 1 :(得分:3)
如果您在地图中添加了一些键值对,那么您的地图summaryByEmp将为空。所以问题
内部地图的价值是什么
不会出现在第一个地方
Map<User, Map<Component, Float>> summaryByEmp = new TreeMap<>();
如果要添加
Map<Component, Float> innerMap = new TreeMap();
summaryByEmp.put(new User(),innerMap )
答案 2 :(得分:1)
它没有任何价值,就像类型User
,Component
和Float
一样。您需要将数据添加到地图中,如:
Map<Component, Float> mapVal = new TreeMap<>();
/// Fill mapVal
User u = new User();
summaryByEmp.put(u, mapVal);