1. 程式人生 > >201621123047《java程序設計》第九次學習總結

201621123047《java程序設計》第九次學習總結

tab 否則 -name 代碼行數 行數 eem treemap java程序 應該

1. 本周學習總結

技術分享圖片

2. 書面作業

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

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

  • 方法一:

      for(int i=list.size()-1;i>=0;i--){
            if(list.get(i)==0)
                list.remove(i);

    方法二:

     for(Iterator<Integer> iterator = list.iterator();iterator.hasNext(); ){
            int e = iterator.next();
            if(e===0)
                iterator.remove();

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

2.2.1

  • 創建TreeMap對象map
  • 循環讀取單詞直到遇到”!!!!“退出,加入map中沒有相應的key,怎value為1,否則value+1.
  • 將map對象轉化成List對象。
  • 事項Collections接口對map對象進行排序。
  • 輸出map的key的長度
  • 輸出前十個元素。

2.2.2 實驗總結

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

2.3.1 截圖你的代碼運行結果

技術分享圖片

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

  • 創建Map對象的實現類TreeMap ,value為ArrayList類。
    通過正則表達式,將讀取的每一行的單詞取出來,如果key中沒有則,value為該行數直接加入Map對象中,如果有,就再看對應的value是否有含有給行的值,沒有再加入。
  • 遍歷輸出map對象。
  • 先判斷輸入的單詞是否都在Map對象中,如果有,再取他們的所在行數的交集,然後輸出。

2.3.3 實驗總結

  • 這題花費的時間比較長,在做此題的時候沒有考慮到,如果map中的value的Arraylist中有值(就是兩個相同的單詞在同一行)相同的情況,雖然結果相同,但是提交上去就是錯誤。

2.4.Stream與Lambda

編寫一個Student類,屬性為:

private Long id;
private String name;
private int age;
private Gender gender;//枚舉類型
private boolean joinsACM; //是否參加過ACM比賽

創建一集合對象,如List,內有若幹Student對象用於後面的測試。

2.4.1 使用傳統方法編寫一個搜索方法List search(List stuList, Long id, String name, int age, Gender gender, boolean joinsACM),然後調用該方法將id>某個值,name為某個值, age>某個值, gender為某個值,參加過ACM比賽的學生篩選出來,放入新的集合。在main中調用,然後輸出結果。(截圖:出現學號、姓名)

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

2.2.5. 泛型類:GeneralStack

題集jmu-Java-05-集合之GeneralStack

2.5.1 GeneralStack接口的代碼

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

3.碼雲及PTA

3.1. 碼雲代碼提交記錄

3.2 截圖PTA題集完成情況圖

技術分享圖片
技術分享圖片

3.3 統計本周完成的代碼量

周次 總代碼量 新增代碼量 總文件數 新增文件數
1 86 86 5 5
2 468 382 15 10
3 818 350 21 6
5 1421 403 31 10
6 2123 702 45 14
7 2789 666 51 6
8 3501 712 60 9
9 4100 599 67 7

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

嘗試從以下幾個維度評估自己對Java的理解程度

維度 程度
語法 PTA的題目已經能輕松搞定,沒有什麽難得倒我的語法問題
面向對象設計能力 能熟練使用面向對象思想為所要解決的問題建模
應用能力 可以使用Java編寫一些實用的小工具
至今為止代碼行數 5000

201621123047《java程序設計》第九次學習總結