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. iOS 横竖屏切换解决方案

    iOS要实现横竖屏切换很简单,不需要使用任何第三方,只需要实现几个方法就可以了. 1.设置系统支持横竖屏[General]->[Targets]-> [Deployment info]-& ...

  2. mysql 忘记root密码,重置密码,及重置密码后权限问题不能登录的解决方案

    由于一段时间没有使用MySQL,忘记了root登录密码. 决定重置下密码,搜索帮助. 参考文档: http://blog.csdn.net/odailidong/article/details/507 ...

  3. 借助AMD来解决HTML5游戏开发中的痛点

    借助AMD来解决HTML5游戏开发中的痛点 游戏开发的痛点 现在,基于国内流行引擎(LayaAir和Egret)和TypeScript的HTML5游戏开发有诸多痛点: 未采用TypeScript编译器 ...

  4. 计蒜客模拟赛D1T3 蒜头君的坐骑:用dfs转移dp

    题目链接:https://nanti.jisuanke.com/t/16447 题意: 蒜头君有一只坐骑,人马. 一天,蒜头君骑着他的坐骑走上了一片n*m的大荒野,一开始时,蒜头君在(1,1)点,他要 ...

  5. echarts之词云随机颜色的配置

    echarts中的词云字体产生随机颜色,最主演的是要引入worldcloud.js,另外还要有jquery.js文件与echarts.js文件的引入,通过配置即可实现词云随机颜色的产生.下面为大家介绍 ...

  6. 理解最基本的Vue项目

    上一篇<Vue开发环境搭建及热更新>,我们讲解了vue开发环境的搭建还有一些小问题,接下来我们来讲解一下这个界面是如何形成的. 在开始讲之前,我们先来看看我们上一篇所谓的项目目录里面到底放 ...

  7. Navicat for MySQL11--使用经验

    Navicat for MySQL11--使用经验.. --------- /-------------------导出SQL:右键表--转储SQL文件--结构和数据---(Finished - Su ...

  8. -webkit-overflow-scrolling 与滚动回弹效果.

    参考来源:https://developer.mozilla.org/zh-CN/docs/Web/CSS/-webkit-overflow-scrolling https://www.w3cways ...

  9. What is the difference between Debug and Release in Visual Studio?

    "Debug" and "Release" are actually just two labels for a whole slew of settings ...

  10. 转python爬虫:BeautifulSoup 使用select方法详解

    1 html = """ 2 <html><head><title>The Dormouse's story</title> ...