1. 程式人生 > >201621123021《JAVA程序設計》第九周學習總結

201621123021《JAVA程序設計》第九周學習總結

lean java程序 foreach 參加 java8 for search 集合 3.1

1. 本周學習總結

技術分享圖片

2. 書面作業

1. List中指定元素的刪除

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

第一種方法

Scanner sc=new Scanner(str);
        while(sc.hasNext()){
            if(list.contains(str))
                list.remove(str);
            else
                break;
        }

第二種方法

for(int i=0;i<list.size();i++){
            
if(str.compareTo(list.get(i))==0){ list.remove(i); i--; } }

  • 本次實驗我是用兩種刪除方法,一種是對元素進行遍歷直接刪除元素,另一種也是遍歷元素,但是使用了比較器。

2. 統計文字中的單詞數量並按出現次數排序

2.1 偽代碼

  • 1、創建一個Scanner對象sc
  • 2、使用while循環,接著使用sc.hasNext()來判定循環循環的繼續,使用if語句來判斷!!!!!,使改文章結束,使用Hashmap<String,Integer>來存儲數據。
  • 3、調用集合中的比較器和排序函數來對函數進行排序。
  • 4、使用foreach語句來輸出函數。

2.2 實驗總結

  • 本實驗我最大的收獲便是能夠靈活的運用比較器和sort函數並且使用foreach語句來完成程序,是程序更加健壯。

3. 倒排索引

3.1 截圖你的代碼運行結果

技術分享圖片

3.2 偽代碼

  • 1、使用Scanner載入文章
  • 2、使用while語句創建創建映射關系,單詞與行數發生映射關系。
  • 3、對於單詞所處的行數使用ArrayList進行存儲。
  • 4、打印映射關系以及查詢結果。

3.3 實驗總結

  • 本實驗使我能夠更深入的了解映射關系的使用,能夠一定程度上加深對於集合函數的理解。

4.Stream與Lambda

編寫一個Student類,屬性為:

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

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

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

List<Student> search(List<Student> stuList, Long id, String name, int age, Gender gender, boolean
 joinsACM)

,然後調用該方法將id>某個值,name為某個值, age>某個值, gender為某個值,參加過ACM比賽的學生篩選出來,放入新的集合。在main中調用,然後輸出結果。

技術分享圖片

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

技術分享圖片

5. 泛型類:GeneralStack

5.1 GeneralStack接口的代碼

技術分享圖片

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

  • 在本次作業中因為泛型的引用使得我們能夠使數據類型能夠不出現局限,使得程序更加靈活。

3.碼雲及PTA

3.1. 碼雲代碼提交記錄

技術分享圖片

3.2 截圖PTA題集完成情況圖

技術分享圖片

技術分享圖片

3.3 統計本周完成的代碼量

周次總代碼量新增代碼量總文件數新增文件數
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 437 437 7 7
5 905 468 13 6
6 1294 389 21 8
7 1678 384 30 9
8 2184 506 42 12
9 2678 494 56 14

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

維度程度
語法 PTA對於我而言難度還是有的具體要看什麽題型,JAVA語法的話我認為我還能存在一些漏洞
面向對象設計能力 我具備一定的面向對象能力,也能在一定的程度上理解
應用能力 如果我用JAVA編寫小工具的話應該是能編出簡單的工具,但是不會特別好用
至今為止代碼行數 2678+

201621123021《JAVA程序設計》第九周學習總結