2013-03-30 51 views
2

我希望在不實現Java api類或方法的情況下創建Hashtable的add方法。這意味着我必須在不使用mytable.put(key,value)的情況下向Hashtable中的鍵添加值。任何人都可以給我任何想法如何做到這一點。非常感謝。在不使用.put方法的情況下添加到Hashtable(java)

+1

肯定的是:使用'putAll'方法。除此之外,沒有任何辦法。 –

+0

putAll方法是java api方法的一部分。不幸的是,我不被允許用來利用這些。 –

+0

mytable(key)= value;工作? –

回答

1

這增加了一個價值的關鍵,而無需使用mytable.put(鍵,值)

Hashtable<Object, Object> myTable = new Hashtable<Object, Object>(); 
    for (Entry e : myTable.entrySet()) { 
     if (e.getKey().equals(myKey) { 
      e.setValue(myValue); 
      break; 
     } 
    } 
+0

謝謝,這是有道理的。只是一個補充:如果哈希表有1個鍵和2個值而不是一個值,這將如何改變。我發現<對象,對象,對象>不起作用,因爲散列表只能帶2個參數。 –

+0

除此之外,Value參數是Object,所以用它來存儲2個值,然後使用bean得到輸出,或者如果您不會有其他選擇,甚至可以使用任何集合來存儲 –

0

使用的putAll()方法..

Map<String, Object> map = ...; // wherever you get it from //Using Map or Hashtable 

Map<String, Object> toBeAdded = new HashMap<String, Object>(); 

for (Map.Entry<String, Object> entry : map.entrySet()) { 
    // Determine if you need to add anything, add it to 'toBeAdded' 
} 

// Finally, add the new elements to the original map 
map.putAll(toBeAdded); 
+0

謝謝。這非常簡單,是解決這個問題的一種新方法。不幸的是,我的項目不允許使用任何Java預定義的方法,如put。或putAll。但是,謝謝你的建議。 –

相關問題