java 資料結構 原始碼閱讀

2021-06-24 11:34:14 字數 576 閱讀 3871

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可以顯示出類的繼承和實現結構,包括它的父類和...