1. 本周学习总结

这周因为一些事情耽搁了,几乎没什么打java代码,这几天尽量补过来

2. 书面作业

1.List中指定元素的删除

1.1 实验总结

不贴大段代码了,简要总结一下。切割成数组,主要用的是String自带的spilit函数,传进去的是

正则表达式。我用的是\\s+。其中\s是空格,+是一个或多个(区别于.)。最前面的\是因为后面的\具有特殊意义。然后删除元素,我是foreach删除,抛出Exception in thread "main" java.util.ConcurrentModificationException。最后迭代删除

2.统计文字中的单词数量并按出现次数排序(尽量不要出现代码)

这题就是map按照value进行排序的题目。如果是按照key进行排序,还比较块,value排序的思路是先将map中的key-value放入list,然后用Collections.sort对list排序,再将排序后的list放入LinkedHashMap,最后返回LinkedHashMap。

3.倒排索引(题目5-4)

这题就是把本来key是Integer,value是String类型的List的字典转化为key是String,value

是Integer类型的List的字典。

4.Stream与Lambda

4.1 使用传统方法编写一个方法,将id>10,name为zhang, age>20, gender为女,参加过ACM比赛的学生筛选出来,放入新的集合。在main中调用,然后输出结果。

public boolean isJoinACM(Student stu) {
    if(stu.id>10&stu.name.equals("zhang")&stu.age>20&stu.gender.equals("Man")){
        return true;
    }
    return false;
}
public List<Student> toCollecions(List<Student> lists){
    List<Student> temp=new ArrayList<Student>();
    for (Student student : lists) {
        if(isJoinACM(student)){
            temp.add(student);
        }
    }
    return temp;

}

4.2 使用java8中的stream(), filter(), collect()编写功能同4.1的函数,并测试。

public List<Student> toCollecions(List<Student> lists){
        return lists.stream().filter(stu ->
        (stu.id>10&&stu.name.equals("zhang")&&stu.age>20&&stu.gender.equals("Man"))
        ).collect(Collectors.toList());

    }

4.3 构建测试集合的时候,除了正常的Student对象,再往集合中添加一些null,然后重新改写4.2,使其不出现异常。

那就把null给过滤掉

public List<Student> toCollecions(List<Student> lists){
        return lists.stream().filter( stu->stu!=null ).filter(stu ->
        (stu.id>10&&stu.name.equals("zhang")&&stu.age>20&&stu.gender.equals("Man"))
        ).collect(Collectors.toList());

    }

5.泛型类:GeneralStack(题目5-5)

5.1 GeneralStack接口的代码

interface GeneralStack<T>
{
    T push(T item);
    T pop();
    T peek();
    public boolean empty();
    public int size();
}

5.2 结合本题,说明泛型有什么好处

可以让栈可以储存不同类型的元素。相对于不使用泛型直接用object有个好处,就是可以在编译的时候出现会报错,而Object那种有时候强转会出错,但是编译时候却不会报错。

5.3 截图你的提交结果(出现学号)

6.泛型方法

6.1 编写方法max,该方法可以返回List中所有元素的最大值。List中的元素必须实现Comparable接口。编写的max方法需使得String max = max(strList)可以运行成功,其中strList为List

   public static <T extends Comparable<T>> T  max( List<T>  list){
        T max = list.get(0);
        for(T i : list){
            if(i.compareTo(max) > 0)
                max = i;
        }
        return max ;
    }

3. 码云上代码提交记录

201521123083《Java程序设计》第8周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

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

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. SVN:Cleanup failed to process the following paths

    频繁使用SVN,于是乎玩坏了.用了一下clearup,结果爆了如题错误.查了一下,是有文件被加锁了,位置在项目根目录 .svn下的wc.db 里,需用专门工具才能看到里面.就是个数据库,里面有很多表. ...

  2. angularJS实战(一)

    angular实现列表 accessCtrl.js let AccessCtrl = function($scope, AlertService, DialogService, BigDataServ ...

  3. Redis-入门笔记-15min带你一览redis

            如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各位支持!       少年入门笔记,整理出来一起入坑!入门的视屏 ...

  4. 从理解开始 谈谈px rem 和 em 的区别与联系

    概述 古语有云,没有规矩则不成方圆.秦灭六国之后为了促进国内生产力的发展,也是大力推进全国度量衡的统一.车同轨,书同文.与"尺寸"相关的问题(手动滑稽),从古至今一直为人们所关注. ...

  5. ORA-00119/ORA-00132

    今天在启动服务器上的ORACLE时遇到如下错误: SQL> startup; ORA-00119: invalid specification for system parameter LOCA ...

  6. 第一阶段项目(2 body)

    body属性 <div class="H1"> <div class="top-nav"> <div class="tn ...

  7. js的点表示法和方括号表示法

    最近发现了一个很好玩的js特性,就是任何可以用点表示法的语句,都可以同样用方括号表示法表示出来,就例如一下语句,三句都是可以实现的: document.body.innerHTML="tes ...

  8. FxZ,C#开发职位面试测试题(30分钟内必须完成)

    1. Refactor the following code (C#) to use polymorphism instead of if-else. Please provide your answ ...

  9. CSS 中的rem,em,vh,vw一次说清楚

    关于css中的长度单位,我们用的最多就是px,因为他简单直接.但是当一套方案匹配不同终端时,px就会显得过于生硬,不容易变通. 然而rem,em,vh,vw就可以有效的解决这一问题.让我们来看看这些东 ...

  10. Python程序练习1-模拟用户登录验证

    1.功能简介 此程序模拟用户登录验证的过程,实现用户名输入.黑名单检测.用户有效性判别.密码输入及验证等.用户在3次以内输入正确密码登陆成功,连续输错3次密码登陆失败,且该用户名被记录在黑名单,黑名单 ...