53 * In addition, this maintains a doubly-linked list which tracks either
54 * insertion or access order.
55 * <p>
56 *
57 * In insertion order, calling <code>put</code> adds the key to the end of
58 * traversal, unless the key was already in the map; changing traversal order
59 * requires removing and reinserting a key. On the other hand, in access
60 * order, all calls to <code>put</code> and <code>get</code> cause the
61 * accessed key to move to the end of the traversal list. Note that any
62 * accesses to the map's contents via its collection views and iterators do
63 * not affect the map's traversal order, since the collection views do not
64 * call <code>put</code> or <code>get</code>.
65 * <p>
66 *
67 * One of the nice features of tracking insertion order is that you can
68 * copy a hashtable, and regardless of the implementation of the original,
69 * produce the same results when iterating over the copy. This is possible
70 * without needing the overhead of <code>TreeMap</code>.
71 * <p> |