TreeMap的get(Object key):
public V get(Object key) {Entry<K,V> p = getEntry(key);return (p==null ? null : p.value);}
根据指定key,比较器比较去寻找指定节点,找不到返回null
final Entry<K,V> getEntry(Object key) {// Offload comparator-based version for sake of performanceif (comparator != null)return getEntryUsingComparator(key);if (key == null)throw new NullPointerException();@SuppressWarnings("unchecked")Comparable<? super K> k = (Comparable<? super K>) key;Entry<K,V> p = root;while (p != null) {int cmp = k.compareTo(p.key);if (cmp < 0)p = p.left;else if (cmp > 0)p = p.right;elsereturn p;}return null;}
public V remove(Object key):
public V remove(Object key) {Entry<K,V> p = getEntry(key);if (p == null)return null;V oldValue = p.value;deleteEntry(p);return oldValue;}
getFirstEntry():
final Entry<K,V> getFirstEntry() {Entry<K,V> p = root;if (p != null)while (p.left != null)p = p.left;return p;}
getLastEntry():
/*** Returns the last Entry in the TreeMap (according to the TreeMap's* key-sort function). Returns null if the TreeMap is empty.*/final Entry<K,V> getLastEntry() {Entry<K,V> p = root;if (p != null)while (p.right != null)p = p.right;return p;}