How to keep the order of elements in hashtable

Use a LinkedHashMap.

Hash table and linked list
implementation of the Map interface,
with predictable iteration order. This
implementation differs from HashMap in
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 if
m.put(k, v) is invoked when
m.containsKey(k) would return true
immediately prior to the invocation.)

combined with Collections.synchronizedMap().

So, for example:

Map<String, String> map = Collections.synchronizedMap(
  new LinkedHashMap<String, String>());

Leave a Comment