如果我在 Java 中有一个 Map 的 Map 并且我初始化了外部地图,那么内部地图的值将是什么(null 或 new Map())?
例如,我有:
Map<User, Map<Component, Float>> summaryByEmp = new TreeMap<>();
现在,内部地图的价值是什么?我也需要初始化吗?
如果我在 Java 中有一个 Map 的 Map 并且我初始化了外部地图,那么内部地图的值将是什么(null 或 new Map())?
例如,我有:
Map<User, Map<Component, Float>> summaryByEmp = new TreeMap<>();
现在,内部地图的价值是什么?我也需要初始化吗?
你对Map
这里的理解有问题。正在做
Map<User, Map<Component, Float>> outerMap = new TreeMap<User, Map<Component, Float>>()
初始化一个TreeMap
由 引用的outerMap
。type 参数仅表示,要放置的键需要是 type User
,键的值是 type Map<Component, Float>
。而已。
因此,当您插入提到的类型的键值对时,您将其插入到TreeMap
.
在您在地图中添加一些键值对之前,您的地图 summaryByEmp 将为空。所以问
内部地图的价值是什么
不是一开始就出现的
Map<User, Map<Component, Float>> summaryByEmp = new TreeMap<>();
如果你想添加它
Map<Component, Float> innerMap = new TreeMap();
summaryByEmp.put(new User(),innerMap )
它没有任何价值,就像 typeUser
和Component
一样Float
。您需要将数据添加到地图中,例如:
Map<Component, Float> mapVal = new TreeMap<>();
/// Fill mapVal
User u = new User();
summaryByEmp.put(u, mapVal);