Map<String, Map<String,String>> regMap = new HashMap<String, Map<String,String>>();
如何從regMap
檢索內容?有什麼數據結構可以存儲三個相關的東西嗎?如何從Map <String,Map <String,String >>中檢索內容?
Map<String, Map<String,String>> regMap = new HashMap<String, Map<String,String>>();
如何從regMap
檢索內容?有什麼數據結構可以存儲三個相關的東西嗎?如何從Map <String,Map <String,String >>中檢索內容?
...或者是有任何的數據結構,在那裏我可以存儲三個相關的東西?
只需創建自己的班級。
public class Foo {
private final Bar thingOne;
private final Bar thingTwo;
private final Bar thingThree;
// ...
}
如果需要,您可以將其存儲在Collection
中。
注:不要把我的簡單的例子,作爲一個建議,你應該爲您的領域foo1
,foo2
等給他們有意義的名字,如forename
,surname
等
如果肯定"firstKey"
存在regMap
,使用:
String value = regMap.get("firstKey").get("secondKey");
要不然:
private String safelyGetString(String firstKey, String secondKey) {
Map<String,String> temp = regMap.get(firstKey);
return (temp == null ? null : temp.get(secondKey));
}
如果regMap.get(「firstKey」)返回null,將拋出NullPointerException – Rohit
這就是爲什麼我添加了:「如果您確定regMap中存在」firstKey「...」 – BobTheBuilder
的一種方法是
Map<String,String> innerMap= regMap.get("string");
String value=null;
if(innerMap!=null)
value=innerMap.get("insidemap");
當你確信的關鍵第一張地圖是有效的,你可以使用
String value = regMap.get("key1").get("key2");
但是,如果在第一個映射中找不到鍵,將會引發NullPointerException。要檢查此,請執行以下操作:
String value;
Map<String, String> subMap = regMap.get("key1");
if (subMap != null) {
value = subMap.get("key2");
}
我建議不要使用這樣的結構。如前所述,最好在地圖中使用自己的對象,以便您可以比地圖中的地圖更好地訪問它們。
如果您想獲得有用的答案,您將不得不更詳細地解釋問題所在。 – Jesper