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程序设计》第八周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第八周学习总结

    1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...

  2. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  3. 学号20145303 《Java程序设计》第一周学习总结

    学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...

  4. 学号20145322 《Java程序设计》第一周学习总结

    学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ...

  5. 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结

    <面向对象程序设计Java>第八周学习总结   项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...

  6. 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  7. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  8. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  9. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  10. 20165324 《Java程序设计》第九周学习总结

    学号 20165324 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 Java网络编程 URL类 使用URL创建对象的应用程序称为客户端 一个URL对象封装一个具体资源的 ...

随机推荐

  1. Java将数据写入word文档(.doc)

    Java可用org.apache.poi包来操作word文档.org.apache.poi包可于官网上下载,解压后各jar作用如下图所示: 可根据需求导入对应的jar. 一.HWPFDocument类 ...

  2. C语言库函数探究

    1.strlen()求字符串长度 //模拟实现strlen函数 #include<stdio.h> #include<stdlib.h> #include<string. ...

  3. zabbix java api

    zabbix java api zabbix官方的api文档地址:https://www.zabbix.com/documentation/3.0/manual/api Zabbix功能 概观 Zab ...

  4. POSTMAN-REST Client

    下载方式:翻.墙安装     #使用的时候不用翻.墙 下载地址:https://chrome.google.com/webstore/search/postman%20rest%20client Po ...

  5. Oracle基础--命令

    ====================== 基础命令====================== 1.su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界 ...

  6. 【转载】初识google test

    一.前言 本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例. 二.下载 如果不记得网址, 直接在google里搜gtest,第一个 ...

  7. leetcode Binary Tree Right Side

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...

  8. You don't know js

    "Give me a chance to know you. " 更多内容: 移步这里 1. 作用域 1.1. 编译原理 尽管通常将 JavaScript 归类为"动态& ...

  9. [Linux] Desktop Management

    xrandr --output Virtual1 --mode 1360x768 Extend Display Size

  10. C++ 类声明 类前置声明范例

    转载自http://www.cnblogs.com/staring-hxs/p/3244251.html 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration).下面的 ...