簡體   English   中英

用Java初始化地圖的地圖

[英]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  )

它將沒有值,就像類型UserComponentFloat 您將需要向地圖添加數據,例如:

Map<Component, Float> mapVal = new TreeMap<>();
/// Fill mapVal
User u = new User();
summaryByEmp.put(u, mapVal);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM