深入剖析Java集合框架及其顯示應用(上)

2021-07-09 04:52:58 字數 620 閱讀 8403

hashcode方法,equals方法,hashset、hashmap

之間的關係?

1.hashset是採用hashmap來實現的。

2.這個hashmap的key值就是放進hashset中物件,value就是乙個object型別的物件。

3.當呼叫hashset的add方法時,實際上是向hashmap中增加了一行(key-value對),該行的key就是向hashset中新增的那個物件,該行的value就是乙個object型別的常量。

4.hashmap底層採用陣列來維護。

5.當呼叫hashmap的put方法的時候,會呼叫增加那個物件的hashcode方法,得到乙個hashcode值,然後根據該值來計算出乙個陣列的下標索引。

6.將準備新增到map中的物件和該位置上的物件進行equals方法比較。如果相同,那麼就將該位置上的那個物件(entry型別)的value值替換,否則沿著該entry的鏈繼續重複上述過程,如果到鏈最後仍然沒有找到與此物件相同的物件,那麼這個時候就會將該物件增加到陣列中,將陣列中該位置上的那個entry物件鏈到該物件的後面。

7.對於hashset、

hashmap來說,這樣做就是為了提高查詢效率,使得查詢時間不隨著set或者map的大小而改變。

深入剖析WTL框架(一)

wtl的基礎是atl。wtl的框架視窗是atl視窗類的繼承。因此,先介紹一下atl對windows視窗的封裝。由第一部分介紹的windows應用程式可以知道建立視窗和視窗工作的邏輯是 1 註冊乙個視窗類 2 建立該類視窗 3 顯示和啟用該視窗 4 視窗的訊息處理邏輯在視窗函式中。該函式在註冊視窗類時...

java集合框架

集合框架包括集合與對映 collection and map 以及它們的子類 容器類 1 list 元素有先後次序的集合,元素有index位置,元素可以重複,繼承自collection介面,實現類 arraylist,vector,linkedlist 2 set 元素無續,不能重複新增,是數學意義...

java集合框架

框架 為了解決某一特定的問題,預先設計好的一系列具有繼承或實現關係的類的介面。集合裡的三大類 list直接繼承collection 特點 線性,有序 arraylist底層的實現是陣列 使用範圍 當某一陣列在實際應用中大量使用查詢和新增功能的時候用arraylist linkedlist底層的實現是...