java與數據結構和算法相關源代碼

剛剛看了一下java源代碼與數據結構和算法相關的部分,一個是arraylist和數據儲存相關,一個是collections.sort排序方法和排序算法相關。

1. Arraylist的底層實現其實就是數組,針對數組進行add和remove操作。需要關注的就是Arraylist能夠自己擴充容量當數據的個數到達當前最大的範圍。

int newCapacity = (oldCapacity * 3)/2 + 1;//增加容量爲1.5倍加1

2. Collections.sort的底層實現也是爲數組排序,先從數組第二個數據和第一個數據比較,如果小的話,就交換位置;然後從數組的第三個數據和第二個數據比較,然後再和第一個數據進行比較;依次類推,一直比較到最後一個數據。需要注意的是如果數據的個數大於7的時候,會一半一半的進行遞歸排序。然後調整這兩半的數據的順序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章