博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
201621123041java程序设计第九周学习总结
阅读量:4568 次
发布时间:2019-06-08

本文共 2541 字,大约阅读时间需要 8 分钟。

1. 本周学习总结

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

  • 1121032-20171118113533062-48365696.png

2. 书面作业

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

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

  • 本题实验要注意使用split语句时,如果要求一个或多个空格为分隔符时,要使用line.split(" +");

  • 可以使用remove函数来删除元素,也可以使用迭代器iterator的方法。

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

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

  • 运用HashMap来储存数据,再使用equals来查询文中是否出现“!!!!!”,再使用split("\\s+")来筛选文中的字段,使用containsKey()来比较文中字段,最后输出。

2.2 实验总结

  • 本题要注意不要使用split(" +"),否则系统会报错,因为此表达式无法适应所有文章输入情况。

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

3.1 截图你的代码运行结果

  • 代码真的不会写。就就截图一部分

  • 1121032-20171118123759109-746798984.png

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

  • 1.使用TreeMap映射,Map<String,ArrayList<Integer>> word=new TreeMap<String,ArrayList<Integer>>()。 2.创建ArrayList数组,将元素输入。3.输出单词所存在的字段数。 4.判断输入的单词行数,输出段数。

3.3 实验总结

  • 本题主要使用了TreeMap映射,把输入的数据存储到ArrayList中,遍历查找出所有单词段落。在统计单词的时候,需要逐段读取,并用空格对单词进行区分,因为后面需要对单词所在行数查询。

4.Stream与Lambda

4.1 使用传统方法编写一个搜索方法List search(List stuList, Long id, String name, int age, Gender gender, boolean joinsACM),然后调用该方法将id>某个值,name为某个值, age>某个值, gender为某个值,参加过ACM比赛的学生筛选出来,放入新的集合。在main中调用,然后输出结果。(截图:出现学号、姓名)

  • 1121032-20171118113551609-537722778.png

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

  • public Student search()
    {
    if(list.stream().filter(Student.getId()>=2016L&&Student.getName().equalsIgnoreCase("Lin")&&Student.getAge()>18&&Student.getGender()==Gender.Male).collect(Collectors.toList()).forEach(System.out::println);)
    {
    Student s=new Student(this.id,this.name,this.age,this.gender,this.joinsACM);
    return s;
    }
    else
    return null;
    }
    }
    public class MMMMMM {

public static void main(String[] args) {

// TODO Auto-generated method stub
ArrayList list=new ArrayList();
Student s1 = new Student(2017L,"WANG",23,Gender.Male,true);
Student s2 = new Student(2018L,"lin",51,Gender.Male,true);
Student s3 = new Student(2016L,"li",32,Gender.Male,true);
Student s4 = new Student(2017L,"林裕恒",19,Gender.Male,true);
Student s5 = new Student(2016L,"Lin",28,Gender.Male,false);
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
list.add(s5);
for (Student student : list) {

System.out.println(student.search());}System.out.println("林裕恒201621123041");

}

  • 1121032-20171118122950140-657279275.png

5. 泛型类:GeneralStack

5.1 GeneralStack接口的代码

  • 1121032-20171118113602234-1725094652.png

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

  • 对于GeneralStack这道题来说,定义的泛型接口不仅能够用于Integer类型,也能用于Double类型,泛型对任何引用类型都适用。

3.码云及PTA

3.1. 码云代码提交记录

  • 1121032-20171118113959531-1769469869.png

3.2 截图PTA题集完成情况图

  • 1121032-20171118114135202-662580615.png

  • 1121032-20171118114140921-28683384.png

3.3 统计本周完成的代码量

周次 总代码量 新增代码量 总文件数 新增文件数
5 221 221 4 4
6 487 226 10 6
7 837 350 14 4
8 1057 220 17 3
9 1289 232 21 4
10 1654 365 26 5

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

语法 PTA基础题目可以胜任
面向对象设计能力 无法能熟练使用面向对象思想为所要解决的问题建模
应用能力 不能使用Java编写一些实用的小工具
至今为止代码行数 3000左右,因为有些代码没有记录

转载于:https://www.cnblogs.com/l873253814/p/7856264.html

你可能感兴趣的文章
Hive与HBase区别
查看>>
ALV的html表头
查看>>
static在C和C++中的用法和区别
查看>>
CSS选择符
查看>>
JavaScript-函数
查看>>
继承的作用以及在子类中初始化所有数据的方法
查看>>
PLSQL Developer对oracle中的数据进行备份恢复
查看>>
python内置模块笔记(持续更新)
查看>>
烧死那对异性恋
查看>>
OpenStack Object Storage Developer Guide/Swift官方API文档 -- 翻译 (五)
查看>>
网络基础之物理层和数据链路层
查看>>
mysql用户
查看>>
Linux_spool命令
查看>>
Js中的字符串/数组中常用的操作
查看>>
炒冷饭系列:设计模式 装饰模式
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(18)-权限管理系统-表数据
查看>>
为什么主引导记录的内存地址是0x7C00?
查看>>
第九节:web爬虫之urllib(五)
查看>>
三种循环的介绍
查看>>
浅谈Sql Server中的 隔离层级(Isolation Levels)
查看>>