抽象map
//定義抽象方法entryset,交給子類實現
//這樣抽象類就可以使用此方法,做一些預設實現。但是entryset由具體的子類實現
public abstract set> entryset()
看看hashmap--entryset實現
例如://獲取集合元素個數
public int size()
public boolean isempty()
//是否包含某個鍵值
public boolean containsvalue(object value)
} else
}return false;
}//是否包含某個鍵
public boolean containskey(object key)
} else
}return false;
}//獲取某個元素
public v get(object key)
} else
}return null;
}//由子類實現
public v put(k key, v value)
//移除
public v remove(object key)
} else
}v oldvalue = null;
if (correctentry !=null)
return oldvalue;
}//將mapkey轉為set集合
public setkeyset()
public k next()
public void remove() };}
public int size()
public boolean isempty()
public void clear()
public boolean contains(object k) };}
return keyset;
}//取出所有的值
public collectionvalues()
public v next()
public void remove() };}
public int size()
public boolean isempty()
public void clear()
public boolean contains(object v) };}
return values;
}//
集合原始碼分析之 LinkedList
glinkedlist底層時基於鍊錶結構 linkedlist內部結構及屬性 public class linkedlistextends abstractsequentiallistimplements list,deque,cloneable,serializable 建構函式解析 鍊錶裡面只有...
原始碼分析集合Hashmap
public v put k key,v value final v putval int hash,k key,v value,boolean onlyifabsent,boolean evict 如果鍊錶中有相同的key直接跳出迴圈 if e.hash hash k e.key key key ...
Map集合 原始碼分析
map的實現類的結構 map 雙列資料,儲存key value對的資料 hashmap 作為map的主要實現類 執行緒不安全的,效率高 可以儲存null和key的value hashmap的底層 陣列 鍊錶 jdk7之前 陣列 鍊錶 紅黑樹 jdk8 linkedhashmap 保證在遍歷map元素...