8月22講課記錄

2021-08-22 05:11:39 字數 1215 閱讀 1146

1.用自己的話描述清楚什麼是集合,集合的重要性,集合應該提供的方法(crud)

2.看collection的幫助,介紹一下bags的概念

3.set集合的概念,介紹hashset和treeset的區別,由abstractset.removeall方法引出模板方法設計模式(父類的方法完成了業務流程,這個業務流程呼叫了其他的方法,其他的方法是抽象的,由子類去具體完成),由treeset(comparator)構造方法引出策略模式(將比較大小的任務委託給專門的比較器去完成)。順便介紹了「盡量使用組合,避免使用繼承」和「閉合原則」,不僅僅是原則,而應該作為設計目標去追求。

4.hashset按照hashcode值的某種運算方式進行儲存,而不是直接按hashcode值的大小進行儲存。例如,

"abc" ---> 78,"def" ---> 62,"xyz" ---> 65在hashset中的儲存順序不是62,65,78,這些問題感謝以前乙個叫崔健的學員提出,最後通過檢視源**給他解釋清楚,看本次培訓學員當中有多少能看懂原始碼。

linkedhashset按插入的順序儲存,那被儲存物件的hashcode方法還有什麼作用呢?學員想想!hashset集合比較兩個物件是否相等,首先看hashcode方法是否相等,然後看equals方法是否相等。new 兩個student插入到hashset中,看hashset的size,實現hashcode和equals方法後再看size。

5.借助hashset講解了j2se 5.0中的泛型,接著用public boolean equals(student obj)引出equals方法的問題,並講解了如何通過j2se5.0的@override註解來避免這種問題。

6.j2se5.0中的for迴圈增強語句。

7.學員問題:build.xml檔案中使用元素引用乙個property檔案時,property檔案中不能出現中文注釋的解決辦法,引出了native2ascii命令的講解。看property類的幫助,可以連線到native2ascii的幫助。

8.同乙個物件可以在vector中加入多次。往集合裡面加元素,相當於集合裡用一根繩子連線到了目標物件。

9.寫出下面的綜合**,加強對集合,泛型,for迴圈增強的理解:

hashmaphm = new hashmap();

hm.put("zxx",19);

hm.put("lis",18);

set> mes= hm.entryset();

不能這樣!

for(map.entryme : mes)

8月22講課記錄

1.用自己的話描述清楚什麼是集合,集合的重要性,集合應該提供的方法 crud 2.看collection的幫助,介紹一下bags的概念 3.set集合的概念,介紹hashset和treeset的區別,由abstractset.removeall方法引出模板方法設計模式 父類的方法完成了業務流程,這個...

8月22日小結

第三次隊伍比賽,也算有點經驗了,各自看題,一起討論題意思路,一人分配了一道題目,先做得第二道題目,思路就是最短路徑,一開始想的挺簡單,用了floyed演算法,寫出來測試沒問題,可惜tle了,也對看著時間就能挺長的,一起討論了一下,換了種思路,用dijkstra演算法,題目本身資料佔記憶體並不大,所以...

8月22日預習內容

順序結構 判斷 分支選擇 結構 迴圈結構 int age 20 if age 18 string color red switch color case blue case green default int sum 0 int i 1 while i 10 system.out.println s...