码迷,mamicode.com
首页 > 编程语言 > 详细

201621123013 《Java程序设计》第9周学习总结

时间:2017-11-18 17:38:03      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:说明   出现   排序   传统   gen   文章   代码行数   ble   抛出异常   

1. 本周学习总结

1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。

技术分享图片

2. 书面作业

本次作业题集集合

1. List中指定元素的删除(题集题目)

1.1 实验总结。并回答:列举至少2种在List中删除元素的方法。

答:第一个函数中,convertStringToList函数中,直接用Scanner sc = new Scanner(line);语句直接将line字符串分成各个小段(老师没说之前,常用split方法存入数组中再进行后续操作)。还有一个就是第二个函数进行正向遍历,然后删除str字符(用remove()方法),还有一个就是要注意删除元素后,关注i的变化(i--)!!!

方法1:

技术分享图片

方法2(使用迭代器Iterator):

技术分享图片

2. 统计文字中的单词数量并按出现次数排序(题集题目)

2.1 伪代码(不得复制代码,否则扣分)

答:

1、创建一个TreeMap,Map<String(Key),Integer(value)> dict,Key-->单词,vlaue-->出现次数。

2、用上面函数题有用过的语句Scanner linescanner = new Scanner(words);进行分割操作。

3、接下来判断单词是否存在在dict里面,若是不存在,就将其加入,(put),并将它的vlaue赋为1。若已存在,就将其的vlaue值进行+1操作。整个操作下来,结束,打印单词数。

4、下面接着,创建一个list对象,
List<Entry<String,Integer>> list = new ArrayList<Entry<String,Integer>>(dict.entrySet());然后用 Collections.sort方法,对list对象进行排序,排序方法则需要重写-->先按value值进行排序,若是value值相等,再进行Key的比较,也就是字母顺序。

5、最后就是输出映射。

2.2 实验总结

答:本题主要就是关于list对象的创建,第一次用到,会比较陌生,不理解,需要请教同学,还有一个就是Collections.sort()进行排序,里面的排序方法需要注意排序要求,进行写入。

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

本题较难,做不出来不要紧。但一定要有自己的思考过程,要有提交结果。

3.1 截图你的代码运行结果

答:技术分享图片

3.2 伪代码(不得复制代码,否则扣分)

答:

1、首先创建Map对象word,其中的key和value分别为单词(String)和该单词所对应的行数(ArrayList),再创建一个ArrayList对象。

2、接下来进行读取文章操作,设置条件,要是if到“!!!!!”就退出,否则,就类似前面那题累加词数的。若word已经有对应的key,接下来就要判断,对应key的当前行数是否已经在自己value中,若无,将其添加;若word中没有相应的key,则就更加简单,将单词添加到word中,并且添加对应的行数到value中。

3、遍历输出word中相应的映射。

4、接下来输入我们要查找的元素(每行的string以空格分开),进行比较,若不存在就打印语句“found 0 results”,若存在,就以相应的key去找相应的vlaue值(行数),将其输出。

3.3 实验总结

答:本题难度有点大,做起来好吃力,也就是自己这部分新内容掌握的不是很清楚,一些语法也有好多不懂的地方,此类的题目也是少做,不过好在,我去请教同学,给我细心讲其思路方法,才弄懂这题,反省自己题目做得不够多,还是没有太深入。

4.Stream与Lambda编写一个Student类,属性为:

private Long id;`` private String name;`` private int age;`` private Gender gender;//枚举类型`` private boolean joinsACM;//是否参加过ACM比赛创建一集合对象,如List

4.1 使用传统方法编写一个搜索方法List

答:技术分享图片

4.2 使用java8中的stream(), filter(), collect()编写功能同4.1的代码,并测试(要出现测试数据)。构建测试集合的时候,除了正常的Student对象,再往集合中添加一些null,你编写的方法应该能处理这些null而不是抛出异常。(截图:出现学号)

答:技术分享图片

5. 泛型类:GeneralStack

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

5.1 GeneralStack接口的代码

答:技术分享图片

5.2 结合本题与以前作业中的ArrayListIntegerStack相比,说明泛型有什么好处

答:以前作业中的ArrayListIntegerStack,里面的一些方法(出栈,入栈)我们都定义为Integer类型了,这就要求我们只能对Integer类型对象进行操作,要是String类型,就不能进行操作了,这就体现了它局限的地方,而本题我们使用泛型就不会出现这样的问题了,也解决了类型的局限性。前面的总结里面有说到,泛型是允许指定集合中的元素类型(不要担心类型强转的风险),而且在编译阶段就会报错。

3.码云及PTA

题目集:jmu-Java-05-集合

3.1. 码云代码提交记录

在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

技术分享图片

3.2 截图PTA题集完成情况图

需要有两张图(1. 排名图。2.PTA提交列表图)

技术分享图片

技术分享图片

3.3 统计本周完成的代码量

需要将每周的代码统计情况融合到一张表中。

周次 总代码量 新增代码量 总文件数 新建文件数
2 0 0 0 0
3 235 235 6 6
5 498 263 13 7
6 711 213 19 6
7 1237 526 30 11
8 1670 433 43 13
9 2352 682 61 18

4. 评估自己对Java的理解程度

尝试从以下几个维度评估自己对Java的理解程度

维度 程度
语法 pta上的一些题目有些问题,通过学习请教能力强的同学也基本可以完成
面向对象设计能力 这方面的能力比较欠缺,进步的空间很大
应用能力 觉得把基础打好,感觉自己现在学到的东西才是一些很浅的东西
至今代码行数 2352

201621123013 《Java程序设计》第9周学习总结

标签:说明   出现   排序   传统   gen   文章   代码行数   ble   抛出异常   

原文地址:http://www.cnblogs.com/kyrie/p/7857207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!