public class LinkedHashMap<K,V>extends HashMap<K,V>implements Map<K,V> Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。注意,如果在映射中重新插入 键,则插入顺序不受影响。(如果在调用 m.put(k, v) 前 m.containsKey(k) 返回了 true,则调用时会将键 k 重新插入到映射 m 中。)PS:TreeMap应该是不行的。本质是平衡二叉树,在插入的时候顺序就根据Comp~接口的方法实现改变了顺序了。
Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。注意,如果在映射中重新插入 键,则插入顺序不受影响。(如果在调用 m.put(k, v) 前 m.containsKey(k) 返回了 true,则调用时会将键 k 重新插入到映射 m 中。)PS:TreeMap应该是不行的。本质是平衡二叉树,在插入的时候顺序就根据Comp~接口的方法实现改变了顺序了。
TreeMap也有排序功能,但是我感觉TreeMap的排序是内部根据一定的规则自动排序的。比如按字母顺序排序或数字大小顺序排序。具体的还没细研究呢。
平衡二叉树嘛~
5
3 8
2 6 9给你看看一些有用的URL
http://healerkx.spaces.live.com/
里面有二叉树的详细描述。
这样虽然进行了排序,但不改变顺序。呵呵
jingyang1979那个二叉树的,应该有个Applet的演示的,一看你就明白了~
同意~!
你可以查查Java DOC文档
class A{
Object key;
Object value;
}