1. 程式人生 > >201621123041java程序設計第九周學習總結

201621123041java程序設計第九周學習總結

ava 字段 line 說明 com 技術 如果 提交 ng-

1. 本周學習總結

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

  • 技術分享圖片

2. 書面作業

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

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

  • 本題實驗要註意使用split語句時,如果要求一個或多個空格為分隔符時,要使用line.split(" +");

  • 可以使用remove函數來刪除元素,也可以使用叠代器iterator的方法。

2. 統計文字中的單詞數量並按出現次數排序(題集題目)

2.1 偽代碼(不得復制代碼,否則扣分)

  • 運用HashMap來儲存數據,再使用equals來查詢文中是否出現“!!!!!”,再使用split("\\s+")
    來篩選文中的字段,使用containsKey()來比較文中字段,最後輸出。

2.2 實驗總結

  • 本題要註意不要使用split(" +"),否則系統會報錯,因為此表達式無法適應所有文章輸入情況。

3. 倒排索引(題集題目)

3.1 截圖你的代碼運行結果

  • 代碼真的不會寫。就就截圖一部分

  • 技術分享圖片

3.2 偽代碼(不得復制代碼,否則扣分)

  • 1.使用TreeMap映射,Map

3.3 實驗總結

  • 本題主要使用了TreeMap映射,把輸入的數據存儲到ArrayList中,遍歷查找出所有單詞段落。在統計單詞的時候,需要逐段讀取,並用空格對單詞進行區分,因為後面需要對單詞所在行數查詢。

4.Stream與Lambda

4.1 使用傳統方法編寫一個搜索方法List

  • 技術分享圖片

4.2 使用java8中的stream(), filter(), collect()編寫功能同4.1的代碼,並測試(要出現測試數據)。構建測試集合的時候,除了正常的Student對象,再往集合中添加一些null,你編寫的方法應該能處理這些null而不是拋出異常。(截圖:出現學號)

  • list.stream().filter(Student.getId()>=2016L&&Student.getName().equalsIgnoreCase("Lin")&&Student.getAge()>18&&Student.getGender()==Gender.Male).collect(Collectors.toList()).forEach(System.out::println);

  • 技術分享圖片

5. 泛型類:GeneralStack

5.1 GeneralStack接口的代碼

  • 技術分享圖片

5.2 結合本題與以前作業中的ArrayListIntegerStack相比,說明泛型有什麽好處。

  • 對於GeneralStack這道題來說,定義的泛型接口不僅能夠用於Integer類型,也能用於Double類型,泛型對任何引用類型都適用。

3.碼雲及PTA

3.1. 碼雲代碼提交記錄

  • 技術分享圖片

3.2 截圖PTA題集完成情況圖

  • 技術分享圖片

  • 技術分享圖片

3.3 統計本周完成的代碼量

周次 總代碼量 新增代碼量 總文件數 新增文件數
5 221 221 4 4
6 487 226 10 6
7 837 350 14 4
8 1057 220 17 3
9 1289 232 21 4
10 1654 365 26 5

#4. 評估自己對Java的理解程度

|-:|-:|
|語法|PTA基礎題目可以勝任|
|面向對象設計能力|無法能熟練使用面向對象思想為所要解決的問題建模|
|應用能力|不能使用Java編寫一些實用的小工具|
|至今為止代碼行數|3000左右,因為有些代碼沒有記錄|

201621123041java程序設計第九周學習總結