1. 程式人生 > >201621123086 《Java程序設計》第9周學習總結

201621123086 《Java程序設計》第9周學習總結

() 設計 目的 str 有關 sort map 根據 文字

1. 本周學習總結

1.1 以你喜歡的方式(思維導圖或其他)歸納總結集合與泛型相關內容。

  • 泛型的主要目的之一就是用來指定容器要持有什麽類型的對象,而且由編譯器來保證類型的正確性。
  • 元組 (tuple) ,它是將一組對象直接打包存儲於其中的一個單一對象。
  • 泛型也可以應用於方法,與其所在的類是否是泛型沒有關系。該方法能夠獨立於類而產生變化。
  • 泛型還可以應用於內部類以及匿名內部類。
  • Java泛型是使用擦除來實現的,這意味著在使用泛型時,任何具體的類型信息都被擦除了。我們可以用extends來聲明具有某個具體類型,隨後便可以安全的在泛型類的方法中調用某個類型參數特有的方法。
  • 根據上面的特性可知,我們只在需要代碼能夠跨多個類型工作時才需要使用泛型。
  • 擦除的弊端在於此類中的轉型、instancof操作、new表達式都是無效的。
  • 通配符:<? extends OBJ><? super OBJ>但這並不意味著參數類型可以向上轉型,只代表參數類型至少具有聲明的類型,編譯器也將直接拒絕對參數列表中涉及通配符的方法的調用。

2. 書面作業

1. List中指定元素的刪除(題集題目)

1.1 實驗總結。並回答:列舉至少2種在List中刪除元素的方法。

  • 我們可以通過將文本放入Scanner並調用next()方法來分離字符串
    1. 使用List.remove()方法來刪除元素,while(list.contains(str))
      來判斷刪除是否完全
    1. 使用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周學習總結