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实验总结

posted on 2017-04-15 20:30  ohanna  阅读(156)  评论(0编辑  收藏  举报