[英]Initialize map of map in java
如果我具有Java中的Map映射,並且初始化了外部映射,那么內部映射的值是什么(空值或new Map())?
例如,我有:
Map<User, Map<Component, Float>> summaryByEmp = new TreeMap<>();
現在,內部地圖的價值是什么? 我也需要初始化嗎?
您對此處的Map
的理解有誤。 在做
Map<User, Map<Component, Float>> outerMap = new TreeMap<User, Map<Component, Float>>()
初始化由outerMap
引用的TreeMap
。 type參數僅表示,要放置的密鑰必須是User
類型,並且密鑰的值必須是Map<Component, Float>
。 而已。
因此,當您插入提到的類型的鍵值對時,會將其插入到TreeMap
。
您在地圖中添加一些鍵值對后,地圖summaryByEmp將為空。 那么問題
內部地圖的價值是什么
不會出現在第一位
Map<User, Map<Component, Float>> summaryByEmp = new TreeMap<>();
如果要添加
Map<Component, Float> innerMap = new TreeMap();
summaryByEmp.put(new User(),innerMap )
它將沒有值,就像類型User
, Component
和Float
。 您將需要向地圖添加數據,例如:
Map<Component, Float> mapVal = new TreeMap<>();
/// Fill mapVal
User u = new User();
summaryByEmp.put(u, mapVal);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.