201521123108 《Java程序设计》第八周学习总结
1. 本周学习总结

2. 书面作业
Q1.List中指定元素的删除(题目4-1)
1.1 实验总结
答:主要是应用到了list中的add和remove等方法,dan'sh但是这道题主要的考察点在于list的删除方式,如果在表头删除那么所有元素都会前移,这时就不会按照我们所想的去删除掉nmou'g某个元素;因此我们应当在list的尾部进行删除。
Q2.统计文字中的单词数量并按出现次数排序(题目5-3)
2.1 伪代码(简单写出大体步骤)
答:
if(map.containsKey(x))
map.put(x, map.get(x)+1);
if(map.get(x)==null)
map.put(x, 1);
2.2 实验总结
答:主要是用到了map(),把单词放到本题主要有两个比较的属性,单词(str)key和次数(number)value,因此用HashMap,来实现输入。
Q3.倒排索引(题目5-4)
3.1 截图你的提交结果(出现学号)
答:
3.2 伪代码(简单写出大体步骤)
答:
建立一个map(String,Integer);
遍历所有的单词;
for循环遍历时找到目标单词;
if(isEmpty)
return null
else
println(set)
3.3 实验总结
答:还是涉及到Map的使用,通过使用TreeMap进行排序;而用匿名内部类来实现Comparato接口进行排序,然后就是查找句子,用出现查找的单词来确定行数,根据该行数出现的次数来确定输出,行数的次数=单词数,输出,否则输出found 0 results。
Q4.Stream与Lambda
编写一个Student类,属性为:
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的函数,并测试。
答:
List<Student> result=student.stream().filter(stu-> stu.getId() > 10L && stu.getName().equals("zhang")
&& stu.getAge() > 20 &&
stu.getGender().equals(Gender.FEMALE)
&& stu.isJoinsAcm())
.collect(Collectors.toList());
结果为:
Student{id=102, name='zhang', age=21, gender=FEMALE, joinsAcm=true}]
4.3 构建测试集合的时候,除了正常的Student对象,再往集合中添加一些null,然后重新改写4.2,使其不出现异常。
答:
List<Student> result=student.stream().filter(stu-> stu!=null&&stu.getId() > 10L && stu.getName().equals("zhang")
&& stu.getAge() > 20 &&
stu.getGender().equals(Gender.FEMALE)
&& stu.isJoinsAcm())
.collect(Collectors.toList());
Q5.泛型类:GeneralStack(题目5-5)
5.1 截图你的提交结果(出现学号)
答:
5.2 GeneralStack接口的代码
答:
interface GeneralStack
{
public Object push(Object item);
public Object pop();
public Object peek();
public boolean empty();
public int size();
}
5.3 结合本题,说明泛型有什么好处
答:在学泛型之前,我只知道类和方法只能使用具体的类型。当需要多种类型的方法和类时,必须重写。以实验5来说,以前IntegerStack接口只能用于存放Integer类型的数据,但运用泛型的知识,写了通用的GeneralStack接口,对任何引用类型的数据都适用。
3.1. 码云代码提交记录

201521123108 《Java程序设计》第八周学习总结的更多相关文章
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结
<面向对象程序设计Java>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175317 《Java程序设计》第九周学习总结
20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...
随机推荐
- RocketMQ入门
本文首先引出消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,Apache RocketMQ作为阿里开源的一款高性能.高吞吐量的分布式消息中间件否可以解决,规范中如何定义这些问题.然后 ...
- MQ选型对比文档
几种MQ产品说明: ZeroMQ : 扩展性好,开发比较灵活,采用C语言实现,实际上他只是一个socket库的重新封装,如果我们做为消息队列使用,需要开发大量的代码 RabbitMQ ...
- [STL] SET实用用法
背景 今天考试深受平衡树之害,可以参见上一篇博客,想到了set却苦于实用的不熟练.同时QTY询问set的具体用法,所以写这篇博客,同时留作自用. 分类 参看了一下网上其他set博客,上来都是长篇大论概 ...
- Python使用PDFMiner解析PDF
近期在做爬虫时有时会遇到网站只提供pdf的情况,这样就不能使用scrapy直接抓取页面内容了,只能通过解析PDF的方式处理,目前的解决方案大致只有pyPDF和PDFMiner.因为据说PDFMiner ...
- CSS格式与布局中三种位置的理解与应用
第一种位置关系:position:fixed 锁定位置(相对于整个浏览器的位置),常用在各大网站的右下角或其它位置的小广告. 如果需要调整锁定位置,需要使用如下方式:<div style=&q ...
- Go语言结构体(struct)
Go 语言结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型. 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合. 结构体表示一项记录,比如保存图 ...
- CSS3背景相关样式
background-image绘制多张图片叠加,示例如下: <!DOCTYPE html> <html lang="en"> <head> & ...
- [js高手之路] dom常用节点属性兼容性详解与应用
一.每个DOM节点都有一个nodeType属性,表示节点类型, NodeType一共有12种类型,我们可以通过遍历内置的Node构造函数获取 window.onload = function(){ v ...
- 遇到local variable 'e' referenced before assignment这样的问题应该如何解决
问题:程序报错:local variable 'e' referenced before assignment 解决:遇到这样的问题,说明你在声明变量e之前就已经对其进行了调用,定位到错误的地方,对变 ...
- Swift语言中与C/C++和Java不同的语法(二)
这一部分,主要讲Swift中创新的可选型(optionals) 一.概要 可选型是Swift创新的一种新的类型,首先看一下可选型的应用场景: var errorCode : Int = 404 这时候 ...