collections工具類裡的
collections.synchronizedlist
public static listsynchronizedlist(listlist)
##僅僅是通過判斷是否實現randomaccess介面,而返回不同的synchronizedlist(內部)類,
##randomaccess foreach較快, iterator較慢,差別不明顯(如i5上,本人測試,乙個arraylist,90w個object, foreach出來是6多ms, iterator出來7ms)
##sequenceaccess foreach較慢,iterator較快.差別非常明顯. (如i5上,本人測試,乙個linkedlist,10w個object, foreach出來是200多ms, iterator出來僅4ms)
linkedlist的get(n) 方法. 原始碼裡寫得也有點妙,一不留意 確實是個坑. (這是sequenceaccess 的foreach 慢的原因)
private entryentry(int index) else
return e;
}
Java資料結構 HashMap 原始碼閱讀
hashmap就是資料結構中的雜湊表,是以key,value的形式進行儲存資料的,陣列具有查詢定位快,但是插入操作效能差,鍊錶具有查詢慢插入快速的特點,而hashmap可以說是這兩種方式的一種折中。hashmap採用陣列與煉表相結合的方式實現,如下圖所示 hashmap會根據儲存實體key的值確定存...
Java資料結構原始碼分析 Vector
vector和arraylist都是通過陣列來構建順序列表的資料結構,其關係同hashmap與hashtable一樣,vector是乙個執行緒安全的資料結構,而arraylist是非執行緒安全的,因此在不考慮多執行緒的情況下,arraylist比vector速度更加的快,在考慮執行緒安全的情況下,a...
《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具
檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...