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

2. 书面作业
本次作业题集集合
1.List中指定元素的删除(题目4-1)
1.1 实验总结
进行删除操作的时候最好从末尾开始删除。如果从开头开始删除,会使每个元素的对应位置发生改变,代码量大。
2.统计文字中的单词数量并按出现次数排序(题目5-3)
2.1 伪代码(简单写出大体步骤)
while (sc.hasNext()) {
String str = sc.next();
if (str.equals("!!!!!")) break;
Integer number = map.get(str);
if (number == null){
map.put(str, 1);
}else {
map.put(str, number + 1);
}
List<Map.Entry<String, Integer>> entrylist =
new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
Collections.sort(entrylist, new Comparator<Map.Entry<String, Integer>>()
if (o1.getValue() == o2.getValue())
return o1.getKey().compareTo(o2.getKey());
return o2.getValue() - o1.getValue() ;
for (int i = 0; i < 10; i++) {
System.out.println(entrylist.get(i));
}
sc.close();
2.2 实验总结
- 对map进行排序前要将其转化成ArrayList,才能进行排序;
- 对于按照字母排序降序,用Collection接口的排序方法会很方便。
3.倒排索引(题目5-4)
3.1 截图你的提交结果(出现学号)

3.2 伪代码(简单写出大体步骤)
while(line not equals(!!!!!)){
map.put(line,1);
String [] arr=line.spilt(" ");
for(i<arr.length){
if(map.containsKey(arr[i]){
add line;
else
add line and arr[i];
}
change array to list;
if(!list.isEmpty)
out(结果);
3.3 实验总结
- 用TreeMap定义集合,key会直接在内部进行排序,
- 用ArrayList要考虑是否有重复现象代码量太多。
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中调用,然后输出结果。

输出结果:

4.2 使用java8中的stream(), filter(), collect()编写功能同4.1的函数,并测试。
4.3 构建测试集合的时候,除了正常的Student对象,再往集合中添加一些null,然后重新改写4.2,使其不出现异常。
5.泛型类:GeneralStack(题目5-5)
5.1 截图你的提交结果(出现学号)

5.2 GeneralStack接口的代码
interface GeneralStack<T>{
public T push(T item);//如item为null,则不入栈直接返回null。如栈满,也返回null.
public T pop();//出栈,如为空,则返回null.
public T peek();//获得栈顶元素,如为空,则返回null.
public boolean empty();//如为空返回true
public int size();//返回栈中元素数量
}
5.3 结合本题,说明泛型有什么好处
答:使用泛型则不需要考虑参数的类型,可以在一个集合里面存放多种类型的数据,可以极大地提高代码复用率。
6.泛型方法
基础参考文件GenericMain,在此文件上进行修改。
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. 码云代码提交记录

201521123075 《Java程序设计》第8周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- web项目中图标的前端处理方案
工程中用到图标是常事,那这些图标我们前端一般是怎么解决的呢?这几种方案有什么优缺点呢? 第一种: SVG Sprite SVG sprite其实就是svg的集合.SVG即可缩放矢量图形 (Scalab ...
- 揭秘Socket与底层数据传输实现
揭秘socket 什么是socket?socket字面意思其实就是一个插口或者套接字,包含了源ip地址.源端口.目的ip地址和源端口.但是socket在那个位置呢 ,在TCP/IP网络的四层体系和OS ...
- 使用VIEWER.JS进行简单的图片预览
<script src="../res/js/viewer.min.js"></script><script type="text/java ...
- 解决火狐中用JQUERY .removeAttr()无法去除元素属性的方法
//为元素添加只读属性 $("#test").attr("readonly","readonly") //去除元素的只读属性 $(" ...
- iOS之UIWebView无法获取web标题
最近遇到了一个问题,就是在UIWebView的代理方法里,执行document.title的js代码无法获取网页标题,代码如下: - (void)webViewDidFinishLoad:(UIWeb ...
- Monad详解
最近几年,函数式编程变得越来越流程,其代码简洁.副作用小.维护成本低等特点,使得许多其它的语言也开始支持函数式编程,比如Java 和 C#等.本文主要介绍一下函数式编程中的一个重要概念:Monad. ...
- NSThread创建线程的三种方法
- (IBAction)NSThreadBtnClick:(id)sender { [self threadObjectMethod]; [self threadClassMethod]; [self ...
- CentOS 7 服务器配置--安装Ftp
#安装vsftp yum install -y vsftpd #将 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root这一行注释掉 #root # ...
- 理解JavaScript的立即调用函数表达式(IIFE)
首先这是js的一种函数调用写法,叫立即执行函数表达式(IIFE,即immediately-invoked function expression).顾名思义IIFE可以让你的函数立即得到执行(废话). ...
- Bug列表
1.Space is not allowed after parameter prefix ': 这个问题主要原因是Hibernate不能识别SQL语句中的":="导致的网上有其他 ...