201521123093 java 第八周总结
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。
1.2 选做:收集你认为有用的代码片段
1、泛型简介:同一个代码可以被不同的对象重用
2、使用泛型的好处:允许指定集合中元素的类型,这样就可以避免使用有风险的
强制类型转换,并且如果在使用过程中有出错的话在编译的
时候就能发现,不需要等到运行的时候才能知道错误。3、使用泛型的约束与局限性:不能使用基本类型
2. 书面作业
1、List中指定元素的删除
题集jmu-Java-05-集合之4-1
1.1 实验总结
答:这题嘛,在实验课上写的,基本上就是根据老师讲的写的,可能自己比较笨吧还是用了挺长时间才写出来的,
删除那一块一开始就没弄懂,后面才知道是自己写重了然后就一直不能使用,不过最后还是写出来了。
1.2 截图你的提交结果(出现学号)

2、统计文字中的单词数量并按出现次数排序(尽量不要出现代码)
题集jmu-Java-05-集合之5-3 统计文字中的单词数量并按出现次数排序
2.1 伪代码(简单写出大体步骤)
while(sc.hasNext()){
String key = sc.next();
if(判断输入是否结束){
break;
}
add(添加)
if(判断是否有一样的单词){
有value加一
没有value为一
}
if(比较最后value的大小,若相等){
按照key字母排序输出
}
else{
按照value大小输出
}
for(<10){
输出前10个单词和他的value
}
}
2.2 实验总结
答:一开始在实验课上并没有写出来,后面根据老师给的代码再结合5-2的实验,但这题是用map来写的,
其实老师给的代码挺全的了,只要把后面排序的问题和前面输入添加一下就可以用了。
2.3 截图你的提交结果(出现学号)

3、倒排索引(尽量不要出现代码)
题集jmu-Java-05-集合之5-4
3.1 伪代码(简单写出大体步骤)
输入的时候和前面两题一样
//判断
while(sc.hasNext()){
for(int i=0;i<lineword.length;i++){ //对行进行检索
if(word contains key){
value++
输出所在行数与所在行数的所有信息
}
输出found 0 results
}
}
3.2 实验总结
答:刚开始看到题目的时候感觉和前面的两题差不多,但是!那只是感觉,并不知如何下手
知道要用Map,可是就是不知道怎么写啊,怎么输出整个单词。过程很艰辛,结局很满意。
3.3 截图你的提交结果(出现学号)

4、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中调用,然后输出结果。
private static List<Student> Search(List<Student> list) {
List<Student> list1 = new ArrayList<Student>();
for(Student student:list){
if(student.getId()>10&&student.getName().equals("zhang")&&student.getAge()>20
&&student.getGender().equals(Gender.female)&&student.isjionsACM()){
list1.add(student);
}
}
return list1;
}

4.2 使用java8中的stream(), filter(), collect()编写功能同4.1的函数,并测试。
newlist=(ArrayList<Student>) list.stream().filter(l->l.getId()>10&&l.getName().equals("zhang")&&l.getAge()>20&&l.getGender().equals(Gender.女)&&l.isJoinsACM()==true).collect(Collectors.toList());
for (Student student : newlist) {
System.out.println(student);
}
4.3 构建测试集合的时候,除了正常的Student对象,再往集合中添加一些null,然后重新改写4.2,使其不出现异常。
答:在原来判断该的基础上加一个student!=null即可。
5、泛型类:GeneralStack
题集jmu-Java-05-集合之5-5 GeneralStack
5.1 GeneralStack接口的代码
interface GeneralStack<T> {
public T push(T item);
public T pop();
public T peek();
public boolean empty();
public int size();
}
5.2 结合本题,说明泛型有什么好处
答:好处啊,就是不用在定义一个函数是在什么类型下使用的,这样就各个类型的都可以重复使用
同一个方法了。
5.3 截图你的提交结果(出现学号)
这题我在eclipse上运行的答案是对的,但是在pta上一直不能通过,问了好多同学还是找不出来,真不知道哪里错了,我能怎么办我也很绝望啊。

6、泛型方法
6.1 编写方法max,该方法可以返回List中所有元素的最大值。List中的元素必须实现Comparable接口。编写的max方法需使得String max = max(strList)可以运行成功,其中strList为List<String>类型。也能使得Integer maxInt = max(intList);运行成功,其中intList为List<Integer>类型。


3. 码云上代码提交记录及PTA实验总结
题目集:jmu-Java-05-集合
3.1. 码云代码提交记录
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

201521123093 java 第八周总结的更多相关文章
- 20165210 Java第八周学习总结
20165210 Java第八周学习总结 教材内容学习 - 第十二章学习总结 进程与线程 操作系统与进程 Java中的线程 Java的多线程机制 主线程 线程的状态与生命周期 1. 新建 2. 运行 ...
- 20145304 Java第八周学习报告
20145304<Java程序设计>第八周学习总结 教材学习内容总结 NIO NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记 ...
- JAVA 第八周学习总结
20175308 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 泛型 泛型的主要目的是可以建立具有类型安全的集合框架(如链表.散列映射等数据结构) 通过cl ...
- 20165326 java第八周学习笔记
第八周学习笔记 知识点总结 1.进程与线程 进程:程序的一次动态执行过程 区别:进程和线程的区别? 进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元 同一个进程中可以包括多个线程,并 ...
- Java第八周学习总结
20145113第八周学习总结 第十五章学习内容 第15章比较琐碎,相对于之前章节也比较枯燥无味看了一部分,也动手敲了些 Logger logger = Logger.getLogger(" ...
- 201521123093 java 第六周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- 201521123093 java 第三周学习总结
1.本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点.截图或者拍照上传. 本周学习总结: ...
- 201521123093 java 第十三周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...
- Java 第八周总结
1. 本周学习总结 2. 书面作业 1.List中指定元素的删除 1.1 实验总结 list中可以通过list.get(i)来获取具体第几个的元素的值,再通过compareTo来对比 通过in.has ...
随机推荐
- android学习ViewFlipper的使用
android系统自带的多页面管理控件,它可以实现子页面的自动切换 1,为ViewFlipper添加View 静态导入:在layout布局文件中直接导入 动态导入:通过addview方法进行导入 2, ...
- RMAN备份介质的移动与再恢复测试 [ catalog start with ‘dir’ ]
--RMAN备份介质的移动与再恢复测试 ---------------------------------------------------------2013/09/21 由于目前生产环境中没 ...
- Java范型
泛型不用考虑对象的具体类型.优点在于,因为不用考虑对象的具体类型所以可以对一类对象执行一定的相同操作:缺点在于,因为没有考虑对象的具体类型所以就不能使用对象自带的接口函数.泛型的最佳用同是实现容器类. ...
- MATLAB批量读入图片
%% import pictures, and save into images{img_num} function [images, img_num, vertical_border] = impo ...
- NSURLConnection从入门到放弃
尽管NSURLConnection已经不建议使用了,iOS 7取而代之的是NSURLSession,但是本文依然打算剖析一下,其中一些思想还是值得学习一下,如果您不用NSURLConnection,并 ...
- CSS中的盒模型
CSS的盒模型描述了一些长方形盒子,这些长方形盒子被用来表示文档树中的元素,并根据视觉格式化模型进行定位. 1. 盒子的尺寸 每个盒子都有一个content区域(比如文本.图片等)和可选的包围cont ...
- spring-aop的简单实例注解版
项目结构如图,基本的spring的配置就不在赘述 1.首先编写自定义的切面类 package org.wu.test; import org.aspectj.lang.annotation.After ...
- C#高级编程:泛型优点和特性
泛型是CLR 2.0的一个新特性,在CLR 1.0中,要创建一个灵活的类或方法,但该类或方法在编译期间不知道使用什么类,就得以Object类为基础.而Object在编译期间没有类型安全性,因此必须进行 ...
- 基于Grafana的Repeate Panel快速定义面板
Grafana提供的Repeate Panel功能,可以快速定义一类相同的面板. 一.定义模板变量 点击"设置"."模板",如下所示: 设置模板变量名称.类型. ...
- 利用pyinotify监控文件内容,像tailf命令但比它更强
Linux的tail/tailf命令使用了内核提供的inotify功能,下面的Python例子也使用inotify实现比tail/tailf更强的监控文件功能. watchfile.py #!/usr ...