2013-03-30 2 views
2

Я хочу создать метод добавления Hashtable без реализации класса api Java или методов. Это означает, что мне нужно добавить значение к ключу в Hashtable без использования mytable.put (key, value). Может ли кто-нибудь любезно дать мне представление о том, как это можно сделать. Большое спасибо.Добавить в Hashtable (java) без использования .put метода

+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. Но спасибо за ваше предложение. –

Смежные вопросы