201621123086 《Java程序設計》第9周學習總結
阿新 • • 發佈:2017-11-18
() 設計 目的 str 有關 sort map 根據 文字
1. 本周學習總結
1.1 以你喜歡的方式(思維導圖或其他)歸納總結集合與泛型相關內容。
- 泛型的主要目的之一就是用來指定容器要持有什麽類型的對象,而且由編譯器來保證類型的正確性。
- 元組 (tuple) ,它是將一組對象直接打包存儲於其中的一個單一對象。
- 泛型也可以應用於方法,與其所在的類是否是泛型沒有關系。該方法能夠獨立於類而產生變化。
- 泛型還可以應用於內部類以及匿名內部類。
- Java泛型是使用擦除來實現的,這意味著在使用泛型時,任何具體的類型信息都被擦除了。我們可以用
extends
來聲明具有某個具體類型,隨後便可以安全的在泛型類的方法中調用某個類型參數特有的方法。 - 根據上面的特性可知,我們只在需要代碼能夠跨多個類型工作時才需要使用泛型。
- 擦除的弊端在於此類中的轉型、
instancof
操作、new
表達式都是無效的。 - 通配符:
<? extends OBJ>
與<? super OBJ>
但這並不意味著參數類型可以向上轉型,只代表參數類型至少具有聲明的類型,編譯器也將直接拒絕對參數列表中涉及通配符的方法的調用。
2. 書面作業
1. List中指定元素的刪除(題集題目)
1.1 實驗總結。並回答:列舉至少2種在List中刪除元素的方法。
- 我們可以通過將文本放入
Scanner
並調用next()
方法來分離字符串 - 使用
List.remove()
方法來刪除元素,while(list.contains(str))
- 使用
- 使用
iterator.next()
來遍歷,str.equals(str)
判斷元素,用iterator.remove()
來刪除元素
- 使用
2. 統計文字中的單詞數量並按出現次數排序(題集題目)
2.1 偽代碼(不得復制代碼,否則扣分)
while() if(當字符串為!!!!!!) 停止循環 if(字符串在map中不存在) 將字符串存入並設置其value為1 if(存在) 將其value+1並存入 調用Collections.sort並編寫內部類 value不相同 返回value差值 如果value相同 返回key值差值 foreach 輸出
2.2 實驗總結
- 此題排序的要點在於新建一個List並將map中的每個entry放入此List並進行排序,而非對原map進行操作。完成此題時,我在排完序後輸出的是原map,導致了錯誤。在經過老師指正後理解了排序的實現方法。
3. 倒排索引(題集題目)
3.1 截圖你的代碼運行結果
201621123086 《Java程序設計》第9周學習總結