201621123021《JAVA程序设计》第九周学习总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了201621123021《JAVA程序设计》第九周学习总结相关的知识,希望对你有一定的参考价值。

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程序设计》第九周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

20165329 《Java程序设计》第九周学习总结

20165223《Java程序设计》第九周Java学习总结

20165208 2017-2018-2 《Java程序设计》第九周学习总结

20165205 2017-2018-2 《Java程序设计》第九周学习总结

20165324 《Java程序设计》第九周学习总结

20165234 《Java程序设计》第九周学习总结