1.1 以你喜歡的方式(思惟導圖或其餘)概括總結集合與泛型相關內容。
java
本次做業題集集合函數
Q一、List中指定元素的刪除(題目4-1)
1.1 實驗總結學習
Q二、統計文字中的單詞數量並按出現次數排序(題目5-3)
2.1 僞代碼(簡單寫出大致步驟)測試
//創建一個Map映射表,HashMap爲其具體實現類裝載輸入字符 Map <String,Integer> dict = new HashMap<String,Integer>(); //HashMap中key爲鍵入字符,value爲字符出現次數。 String key = sc.next(); Integer value = dict.get(key); //應題目要求輸出單詞數 System.out.println(dict.size()); //創建一個list鏈表,ArrayList爲其實現類。講HashMap中的內容送給ArrayList List<Entry<String, Integer>> list = new ArrayList(); for(Entry<String, Integer> e:dict.entrySet()){ list.add(e); } //建立一個比較器,用於按序輸出 Collections.sort(list,new Comparator<Entry<String, Integer>>() //講排好序的list輸出,要求輸入前十 int i = 0; for(Entry<String, Integer> b: list){ if(i==10)break; System.out.println(。。。); i++;
2.2 實驗總結3d
Q三、倒排索引(題目5-4)
3.1 截圖你的提交結果(出現學號)
3.2 僞代碼(簡單寫出大致步驟)code
Map<String, TreeSet<Integer>> dict = new TreeMap<String, TreeSet<Integer>>();//此Map用於創建單詞與行數的索引關係 Map<Integer, String> contain = new TreeMap<Integer, String>();//此Map用於創建每行存放的字符串對照關係 ...//寫單詞與其對應行數代碼:關鍵就是key、value。 for (Map.Entry<String, TreeSet<Integer>> e : dict.entrySet()) { System.out.println(e); }//打印索引表 //經過輸入關鍵字找出第幾行並輸出行內容 if (j == 0) { System.out.println("found 0 results"); } if (j == 1) { } if(j > 1) { } //分爲了三種狀況,j爲關鍵字單詞個數。
3.3 實驗總結對象
TreeSet<Integer> cop = new TreeSet<Integer>(dict.get(y[i]));
這樣創建一個TreeSet,dict.get(y[i])
做爲一個參數傳入,調用某個構造函數,此時傳入的是內容,不會影響到對象自己。Q四、Stream與Lambda
編寫一個Student類,屬性爲:blog
private Long id; private String name; private int age; private Gender gender;//枚舉類型 private boolean joinsACM; //是否參加過ACM比賽
建立一集合對象,如List,內有若干Student對象用於後面的測試。排序
4.1 使用傳統方法編寫一個方法,將id>10,name爲zhang, age>20, gender爲女,參加過ACM比賽的學生篩選出來,放入新的集合。在main中調用,而後輸出結果。
4.2 使用java8中的stream(), filter(), collect()編寫功能同4.1的函數,並測試。
4.3 構建測試集合的時候,除了正常的Student對象,再往集合中添加一些null,而後從新改寫4.2,使其不出現異常。索引
泛型類:GeneralStack(題目5-5)
5.1 截圖你的提交結果(出現學號)
5.2 GeneralStack接口的代碼
interface GeneralStack<E> { public E push(E item); public E pop(); public E peek(); public boolean empty(); public int size(); }
5.3 結合本題,說明泛型有什麼好處
GeneralStack
泛型接口,避免許多的類型之間的強制轉化,下降風險。Q六、泛型方法
基礎參考文件GenericMain,在此文件上進行修改。
6.1 編寫方法max,該方法能夠返回List中全部元素的最大值。List中的元素必須實現Comparable接口。編寫的max方法需使得String max = max(strList)能夠運行成功,其中strList爲List
題目集:jmu-Java-05-集合
3.1. 碼雲代碼提交記錄
在碼雲的項目中,依次選擇「統計-Commits歷史-設置時間段」, 而後搜索並截圖
3.2. PTA實驗 實驗總結已經寫在各個實驗下方。