zoukankan      html  css  js  c++  java
  • 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实验总结

  • 相关阅读:
    基础总结深入:数据类型的分类和判断(数据、内存、变量) 对象 函数 回调函数 IIFE 函数中的this 分号
    BOM 定时器 通过修改元素的类来改变css JSON
    事件 事件的冒泡 事件的委派 事件的绑定 事件的传播
    DOM修改 使用DOM操作CSS
    包装类 Date Math 字符串的相关的方法 正则表达式 DOM DOM查询
    数组 call()、apply()、bind()的使用 this arguments
    autocad 二次开发 最小包围圆算法
    win10 objectarx向导在 vs2015中不起作用的解决办法
    AutoCad 二次开发 jig操作之标注跟随线移动
    AutoCad 二次开发 文字镜像
  • 原文地址:https://www.cnblogs.com/ohanna/p/6714458.html
Copyright © 2011-2022 走看看