I have a hashtable . values() method returns values in some order different from the order in which i am inserted.How can i get the values in the same order as i inserted?Us
Use a LinkedHashMap.
Hash table and linked list implementation of the
Mapinterface, with predictable iteration order. This implementation differs fromHashMapin that it maintains a doubly-linked list running through all of its entries. This linked list defines the iteration ordering, which is normally the order in which keys were inserted into the map (insertion-order). Note that insertion order is not affected if a key is re-inserted into the map. (A key k is reinserted into a map m ifm.put(k, v)is invoked whenm.containsKey(k)would returntrueimmediately prior to the invocation.)
combined with Collections.synchronizedMap().
So, for example:
Map map = Collections.synchronizedMap(
new LinkedHashMap());