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

java

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

以上是 201521123104 《Java程序设计》第8周学习总结 的全部内容, 来源链接: utcz.com/z/389742.html

回到顶部