学号:201521123116 《java程序设计》第八周学习总结
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。

1.2 选做:收集你认为有用的代码片段
List<Entry<String,Integer>> list = new ArrayList<Entry<String,Integer>>(map.entrySet());
Scanner in = new Scanner(line);
2. 书面作业
1. List中指定元素的删除(题目4-1)
1.1 实验总结:
- 返回的数组元素类型是Object,调用者可以自由地修改iterator返回的数组。
- 用列表来实现排序。
- 扫描器可以用做遍历使用。
1.2 截图你的提交结果(出现学号)

2.统计文字中的单词数量并按出现次数排序
Scanner input=new Scanner(System.in);
Map<String,Integer>map=new HashMap<String ,Integer>();
String x;
while(true){
x=input.next();
if(x.equals("!!!!!"))break;
if(map.containsKey(x)) map.put(x, map.get(x)+1);
if(map.get(x)==null) map.put(x, 1);
}
System.out.println(map.size());
List<Entry<String,Integer>> list =new ArrayList<Entry<String,Integer>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1,Map.Entry<String, Integer> o2) {
if (o1.getValue() != o2.getValue()) {
return o2.getValue() - o1.getValue();
}
else {
return o1.getKey().compareTo(o2.getKey());
}
}
});
for(int i=0;i<10;i++){
System.out.println(list.get(i));
2.2 实验总结
TreeSet类实现Set接口,不含重复对象.将map对象转变为list对象,用entrySet()同时取得map的键和值
3. 倒排索引(题目5-4)
3.1 截图你的提交结果(出现学号)

3.2 伪代码(简单写出大体步骤)
int row = 1;
while (scan.hasNextLine()) {
String s = scan.nextLine();
if (s.equals("!!!!!")) {
break;
}
else {
Scanner scan1 = new Scanner(s);
map2.put(row, s);
while (scan1.hasNext()) {
String s1 = scan1.next();
if (map.get(s1) == null) {
TreeSet<Integer> set = new TreeSet<Integer>();
set.add(row);
map.put(s1, set);
}
else {
map.get(s1).add(row);
}
}
scan1.close();
}
row++;
}
for (Map.Entry<String, TreeSet<Integer>> a : map.entrySet()) {
System.out.println(a);
}
if (!map.containsKey(s)) {
System.out.println("found 0 results");
continue;
}
TreeSet<Integer> set1 = map.get(s);
while (scan1.hasNext()) {
String s1 = scan1.next();
set1.retainAll(map.get(s1));
3.3 实验总结
对于Map的运用还不熟练,这道题目还是在同学帮助下完成的。
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中调用,然后输出结果。
ArrayList<Student> aList = new ArrayList<Student>();
for (Student student : arrayList) {
if (student.getId() > 10L && student.getName().equals("guo")
student.getAge() > 20
student.getGender().equals(Gender.女)
student.isJoinsACM())
aList.add(student);
}
}
return aList2、;
}
代码运行不出
4.2 使用java8中的stream(), filter(), collect()编写功能同4.1的函数,并测试。
ArrayList list1=(ArrayList) list.stream().filter(e->
(e.getId()>10L&&e.getAge()>20&&e.getGender().equals(gender1)&&e.isJoinsACM()==true)).collect(Collectors.toList());
list1.forEach(e->System.out.println(e));
结果:
4.3 构建测试集合的时候,除了正常的Student对象,再往集合中添加一些null,然后重新改写4.2,使其不出现异常。
泛型类:GeneralStack(题目5-5)
5.1 截图你的提交结果(出现学号)

5.2 GeneralStack接口的代码
interface GeneralStack<T> {
public T push(T item);
public T pop();
public T peek();
public boolean empty();
public int size();
}
5.3 结合本题,说明泛型有什么好处
泛型后不限制元素类型,无须再强制类型转化,减少程序出错的机会
3. 码云上代码提交记录及PTA实验总结
3.1. 码云代码提交记录

学号:201521123116 《java程序设计》第八周学习总结的更多相关文章
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 学号20145303 《Java程序设计》第一周学习总结
学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...
- 学号20145322 《Java程序设计》第一周学习总结
学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ...
- 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结
<面向对象程序设计Java>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结
20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...
- 20165324 《Java程序设计》第九周学习总结
学号 20165324 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 Java网络编程 URL类 使用URL创建对象的应用程序称为客户端 一个URL对象封装一个具体资源的 ...
随机推荐
- Java将数据写入word文档(.doc)
Java可用org.apache.poi包来操作word文档.org.apache.poi包可于官网上下载,解压后各jar作用如下图所示: 可根据需求导入对应的jar. 一.HWPFDocument类 ...
- C语言库函数探究
1.strlen()求字符串长度 //模拟实现strlen函数 #include<stdio.h> #include<stdlib.h> #include<string. ...
- zabbix java api
zabbix java api zabbix官方的api文档地址:https://www.zabbix.com/documentation/3.0/manual/api Zabbix功能 概观 Zab ...
- POSTMAN-REST Client
下载方式:翻.墙安装 #使用的时候不用翻.墙 下载地址:https://chrome.google.com/webstore/search/postman%20rest%20client Po ...
- Oracle基础--命令
====================== 基础命令====================== 1.su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界 ...
- 【转载】初识google test
一.前言 本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例. 二.下载 如果不记得网址, 直接在google里搜gtest,第一个 ...
- leetcode Binary Tree Right Side
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...
- You don't know js
"Give me a chance to know you. " 更多内容: 移步这里 1. 作用域 1.1. 编译原理 尽管通常将 JavaScript 归类为"动态& ...
- [Linux] Desktop Management
xrandr --output Virtual1 --mode 1360x768 Extend Display Size
- C++ 类声明 类前置声明范例
转载自http://www.cnblogs.com/staring-hxs/p/3244251.html 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration).下面的 ...