New to hashtables with a simple question. For some reason googling hasn't gotten me a straight answer. Say I've got an <int,String>
hashtable set up:
myHashtable.put(1,"bird");
myHashtable.put(2,"iguana");
and I want to change "bird" to "fish" (and leave the index the same). Can I just do a simple put
, or do I need to delete the entry, or what?
Yes.
If a mapping to the specified key already exists, the old value will be replaced (and returned). See Hashtable.put()
.
For multi-threaded environment, I'd recommend ConcurrentHashMap
or another ConcurrentMap
implementation. Though Hashtable
is synchronized, there are more sophisticated implementations available now for concurrent mapping, such as Guava's MapMaker
and CacheBuilder
.
Also keep in mind the Map
is going to have the type parameters <Integer, String>
since primitive type parameters aren't supported.
hmmm ,just need add a linemyHashtable.put(1,"fish");
to see what's amazing happens
see this links:http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html#put(K, V)
Returns:
the previous value of the specified key in this hashtable, or null if it did not have one
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With