• 201521123104 《Java程序设计》第8周学习总结


    1. 本周学习总结

    1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。

    2. 书面作业

    1. List中指定元素的删除(题目4-1)

    1.1 实验总结

     这道题的关键是如何删除元素。一般来讲我们习惯从头开始删除不需要的元素,但是从这道题来看,从元素末尾开始删除的话更适合一些。因为从头开始删除元素后,之后的元素位置就会发生变动,还需要更多的代码来改善这种情况,不方便。
    

    2. 统计文字中的单词数量并按出现次数排序(题目5-3)

    2.1 伪代码(简单写出大体步骤)

     创建map Map<String,Integer>
     输入字符串String x;
     判断条件if(x.equals("!!!!!"))break;
     输出大小System.out.println(map.size());
     转化为ArrayList()
     用Collections.sort()进行排序;
     用getValue()得到其value值,按题目要求进行比较排序;
     输出答案System.out.println(list.get(i));
    

    2.2 实验总结

     排序这种问题,根据新学的知识来看用Collections进行排序会比较方便;
     但是在使用Collections对map进行排序时应注意,要先将其转化为ArrayList;
    

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

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

    3.2 伪代码(简单写出大体步骤)

     while (scan.hasNextLine())
         {   
             String s = scan.nextLine();
             if (s.equals("!!!!!")) {
             break;
           } else {
                     .....
           }
    
     while (scan1.hasNext()) {
                .....
     }
     if (set1.isEmpty()) {
         System.out.println("found 0 results");
     } else {
         System.out.println(set1);
         for (Integer a : set1) {
    	     System.out.println();
         }
    

    3.3 实验总结

     这个题我自己觉得较难,也是问了百度问了同学才勉强写出来,要注意多考虑几种输入和输出的办法;
    

    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中调用,然后输出结果。

      ArrayList<Student> stus = new ArrayList<Student>();}
        for(Student s : stu)
        {
             if(a.getId()>10&&a.getName().equals("zhang")&&a.getAge()>20&&a.getGender().equals(Gender.girl)&&a.isJoinsACM())
            {
                stus.add(s);
          }
    
    
     输入:
     Student e1=new Student(22L,"zhang",21,Gender.girl,ture);
    

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

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

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

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

    5.2 GeneralStack接口的代码

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

     代码还没写好.....
    

    6. 泛型方法

    基础参考文件GenericMain,在此文件上进行修改。

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

        strList.add("abc");
        strList.add("bcd");
        strList.add("cde");
        System.out.println(max(strlist));
        intList.add(4);
        intList.add(6);
        intList.add(7);
        System.out.println(max(intlist));
    

    3. 码云上代码提交记录及PTA实验总结

  • 相关阅读:
    VS2012 打包部署程序
    请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径
    “远程服务器返回错误: (404) 未找到”的正确解决方法
    23.IDEA 运行junit单元测试方法
    Java单元测试之JUnit篇
    22.IntelliJ IDEA 切换 project
    21. 【intellij idea】Project Structure 讲解
    一个多maven项目聚合的实例
    解决Maven项目相互依赖/循环依赖/双向依赖的问题
    20. idea刷新项目、清除项目缓存
  • 原文地址:https://www.cnblogs.com/ohanna/p/6714458.html
Copyright © 2020-2023  润新知