2013-04-18 100 views

回答

4

...或者是有任何的數據結構,在那裏我可以存儲三個相關的東西?

只需創建自己的班級。

public class Foo { 

    private final Bar thingOne; 
    private final Bar thingTwo; 
    private final Bar thingThree; 

    // ... 

} 

如果需要,您可以將其存儲在Collection中。

注:不要把我的簡單的例子,作爲一個建議,你應該爲您的領域foo1foo2等給他們有意義的名字,如forenamesurname

1

如果肯定"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)); 
} 
+0

如果regMap.get(「firstKey」)返回null,將拋出NullPointerException – Rohit

+0

這就是爲什麼我添加了:「如果您確定regMap中存在」firstKey「...」 – BobTheBuilder

0

的一種方法是

Map<String,String> innerMap= regMap.get("string"); 
String value=null; 
if(innerMap!=null) 
value=innerMap.get("insidemap"); 
0

當你確信的關鍵第一張地圖是有效的,你可以使用

String value = regMap.get("key1").get("key2"); 

但是,如果在第一個映射中找不到鍵,將會引發NullPointerException。要檢查此,請執行以下操作:

String value; 
Map<String, String> subMap = regMap.get("key1"); 
if (subMap != null) { 
    value = subMap.get("key2"); 
} 
0

我建議不要使用這樣的結構。如前所述,最好在地圖中使用自己的對象,以便您可以比地圖中的地圖更好地訪問它們。

相關問題