集合中sort的原始碼分析

2021-09-24 16:35:54 字數 548 閱讀 9498

1、不設定比較規則的sort排序 

public static > void sort(listlist) {

object a = list.toarray();

arrays.sort(a);

listiteratori = list.listiterator();

for (int j=0; j首先是給乙個list型別的集合

然後自定義乙個object型別的陣列

將集合轉換成陣列,將元素儲存在這個陣列中

然後將這個陣列進行排序

最後迴圈使用set方法將陣列中的元素依次存放在集合中

2、設定比較規則的sort分析

還是先轉換成陣列,然後呼叫陣列中的比較規則進行比較的

STL 中sort原始碼分析

以sgi的stl為例 sort有兩種過載形式 template randomaccessiterator void sort randomaccessiterator first,randomaccessiterator last template strictweakordering void s...

原始碼分析集合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元素...