Tho*_*lil 22 java hashtable linkedhashmap
我有一个哈希表.values()方法以某种顺序返回值,这些顺序与我插入的顺序不同.如何以与插入时相同的顺序获取值?使用LinkedHashmap是一种替代方法,但它不是同步的.
cle*_*tus 34
用一个LinkedHashMap.
接口的哈希表和链表实现
Map,具有可预测的迭代顺序.这种实现的不同之处HashMap在于它维护了一个贯穿其所有条目的双向链表.此链接列表定义迭代排序,通常是键插入映射的顺序(插入顺序).请注意,如果将键重新插入地图,则插入顺序不会受到影响.(如果m.put(k, v)在调用 之前立即m.containsKey(k)返回,则调用 密钥k重新插入映射mtrue.)
结合Collections.synchronizedMap().
所以,例如:
Map<String, String> map = Collections.synchronizedMap(
new LinkedHashMap<String, String>());
Run Code Online (Sandbox Code Playgroud)