201521123035《Java程序设计》第八周学习总结
生活随笔
收集整理的這篇文章主要介紹了
201521123035《Java程序设计》第八周学习总结
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 本周學(xué)習(xí)總結(jié)
1.1 以你喜歡的方式(思維導(dǎo)圖或其他)歸納總結(jié)集合與泛型相關(guān)內(nèi)容。
1.2 選做:收集你認(rèn)為有用的代碼片段
//泛型方法,打印MyStack的所有元素的薪水,不管MyStack中的元素是Employee類型或者Employee的子類public static void printMyStack(MyStack<? extends Employee> myStack ){while (!myStack.isEmpty()){System.out.println("salary="+myStack.pop().getSalary());}}//泛型方法,將MyStack中的元素放入為Employee數(shù)組,不管MyStack中的元素是Employee或者還是其子類 public static Employee[] stackToArray(MyStack<? extends Employee> myStack){public static Employee[] stackToArray(MyStack<? extends Employee> myStack){Employee[] array = new Employee[myStack.getSize()];int i = 0;while (!myStack.isEmpty()){array[i++] = myStack.pop();}return array;}2. 書面作業(yè)
1.List中指定元素的刪除(題目4-1)
1.1 實(shí)驗(yàn)總結(jié)
實(shí)驗(yàn)總結(jié):感覺這道題目還是比較簡(jiǎn)單的,因?yàn)槔蠋熤骱瘮?shù)的代碼和刪除指定與元素的參考代碼,只需要按照題目要求對(duì)參考代碼進(jìn)行相應(yīng)的修改就可以了。2.統(tǒng)計(jì)文字中的單詞數(shù)量并按出現(xiàn)次數(shù)排序(題目5-3)
2.1 偽代碼(簡(jiǎn)單寫出大體步驟)
借鑒老師上課指導(dǎo)。
public class Main {public static void main(String[] args) {Map<String,Integer> map = new HashMap <String,Integer>();String line = "a b cc a b c d";Scanner sc = new Scanner(line);while(sc.hasNext()){String key = sc.next();Integer cnt = map.get(key);if(cnt==null){map.put(key, 1);}else{map.put(key, cnt+1);}}for(Map.Entry<String,Integer> e:map.entrySet()){System.out.println(e);}//set->listList<Map.Entry<String,Integer>> entryList = new ArryList<>();for(Map.Entry<String,Integer> e:map.entrySet()){entryList.add(e);}List<Map.Entry<String,Integer>> entryList1 = new ArryList<>(map.entrySet()); }2.2 實(shí)驗(yàn)總結(jié)
實(shí)驗(yàn)總結(jié):這道題目會(huì)比上一道難很多,老師也說有點(diǎn)難度,雖然在邏輯上知道怎么實(shí)現(xiàn),但是不會(huì)運(yùn)用代碼,需要向同學(xué)請(qǐng)教。3.倒排索引(題目5-4)
3.1 截圖你的提交結(jié)果(出現(xiàn)學(xué)號(hào))
3.2 偽代碼(簡(jiǎn)單寫出大體步驟)
if(line.equals("!!!!!")) break; else put;for (Entry<String,List> entry : map.entrySet()) {System.out.println(entry.getKey()+"="+entry.getValue());}if(!sea.isEmpty()) else3.3 實(shí)驗(yàn)總結(jié)
實(shí)驗(yàn)總結(jié):一開始還不是很理解題目的意思,因?yàn)檩敵稣f明只說了要顯示查找結(jié)果,并沒有說要還要依次打印,后面請(qǐng)教了同學(xué)才知道這道題目的意思。4.Stream與Lambda
編寫一個(gè)Student類,屬性為:
private Long id; private String name; private int age; private Gender gender;//枚舉類型 private boolean joinsACM; //是否參加過ACM比賽創(chuàng)建一集合對(duì)象,如List,內(nèi)有若干Student對(duì)象用于后面的測(cè)試。
4.1 使用傳統(tǒng)方法編寫一個(gè)方法,將id>10,name為zhang, age>20, gender為女,參加過ACM比賽的學(xué)生篩選出來,放入新的集合。在main中調(diào)用,然后輸出結(jié)果。
查找方法如下: public Student find(){if(this.id>10L&&this.name.equals("zhang")&&this.age>20&&this.gender==Gender.女&&this.joinsACM){Student e=new Student(this.id,this.name,this.age,this.gender,this.joinsACM);return e;}elsereturn null;} 輸入學(xué)生信息如下: Student stu1=new Student(15L,"wang",23,Gender.女,true);Student stu2=new Student(3L,"zhang",21,Gender.女,true);Student stu3=new Student(16L,"zhang",25,Gender.女,true);Student stu4=new Student(18L,"zhang",21,Gender.女,true); 運(yùn)行結(jié)果如下:4.2 使用java8中的stream(), filter(), collect()編寫功能同4.1的函數(shù),并測(cè)試。
4.3 構(gòu)建測(cè)試集合的時(shí)候,除了正常的Student對(duì)象,再往集合中添加一些null,然后重新改寫4.2,使其不出現(xiàn)異常。
5.泛型類:GeneralStack(題目5-5)
5.1 截圖你的提交結(jié)果(出現(xiàn)學(xué)號(hào))
5.2 GeneralStack接口的代碼
interface GeneralStack<E> {E push(E e); E pop(); E peek(); boolean empty();int size(); }5.3 結(jié)合本題,說明泛型有什么好處
泛型的好處是從此無需使用有風(fēng)險(xiǎn)的強(qiáng)制類型轉(zhuǎn)換,而且在錯(cuò)誤編譯階段就能發(fā)現(xiàn),而不用等到運(yùn)行時(shí)才發(fā)現(xiàn)出錯(cuò)。6.泛型方法
基礎(chǔ)參考文件GenericMain,在此文件上進(jìn)行修改。
6.1 編寫方法max,該方法可以返回List中所有元素的最大值。List中的元素必須實(shí)現(xiàn)Comparable接口。編寫的max方法需使得String max = max(strList)可以運(yùn)行成功,其中strList為L(zhǎng)ist類型。也能使得Integer maxInt = max(intList);運(yùn)行成功,其中intList為L(zhǎng)ist類型。
public static <T extends Comparable<T>> T max(List<T> list>{Collections.sort(list);T max = list.get(list.size()-1);return max;}3. 碼云上代碼提交記錄及PTA實(shí)驗(yàn)總結(jié)
題目集:jmu-Java-05-集合
3.1. 碼云代碼提交記錄
在碼云的項(xiàng)目中,依次選擇“統(tǒng)計(jì)-Commits歷史-設(shè)置時(shí)間段”, 然后搜索并截圖
3.2. PTA實(shí)驗(yàn)
函數(shù)(4-1),編程(5-3,5-4,5-5)
實(shí)驗(yàn)總結(jié)已經(jīng)在作業(yè)中體現(xiàn),不用寫。
轉(zhuǎn)載于:https://www.cnblogs.com/wuling15/p/6701019.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的201521123035《Java程序设计》第八周学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET MVC中在 @Rende
- 下一篇: 解决sublime3不能编辑插件defa