千锋逆战班学习第25天
努力或许没有收获,但不努力一定没收获,加油。
今天我学了Java课程的集合。
中国加油!!!武汉加油!!!千锋加油!!!我自己加油!!!

4.有如下代码:

public class Test4 {public static void main(String[] args) {// TODO Auto-generated method stubList<String> list=new ArrayList<String>();list.add("Hello");list.add("Lean");list.add("Hello");list.add("Welcome");Set<String> set=new HashSet<String>();set.hashCode();set.addAll(list);System.out.println(set.size());}}
3

6.为第5题的worker类,在添加完equals方法的基础上,添加一个hashCode方法

public int hashCode(){
//1
}
(1) return 0;
(2) int result = 0;
if(name!=null) result = name.hashCode();
return result + age;
(3) return super.hashCode();
现在要把Worker类放入HashSet中,并希望HashSet中没有重复元素,则
A.三种写法都正确
B. |、II写法正确, II的效率更高
C.II写法正确,1、III写法都不正确
b

7.代码改错

class Worker {String name;int age;double salary;public Worker() {}public Worker(String name, int age, double salary) {this.name = name;this.age = age;this.salary = salary;}int hashCode() {return name.hashCode() + age + salary;}public boolean equals(Worker w) {if (w.name == name && w.salary == salary && w.age == age) {return true;} else {return false;}}
}public class TestWorker {public static void main(String[] args) {Set<Worker> set = new HashSet<Worker>();set.add(new Worker("tom", 18, 2000));set.add(new Worker("tom", 18, 2000));set.add(0,new Worker("jerry", 18, 2000));System.out.println(set.size());}
}
//1 重写父类方法,权限不能小于父类;salary是double类型,返回值要强转为int型
public int hashCode() {return (int) (name.hashCode() + age + salary);}
//2 HashSet是无序的集合,不能在指定位置添加
set.add(new Worker("jerry", 18, 2000));

8.在前面Worker类的基础上,为Worker类添加相应的方法,使得Worker放入HashSet中时,Set中没有重复元素。并编写相应的测试代码。

重写equals方法public boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Worker other = (Worker) obj;if (age != other.age)return false;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;if (Double.doubleToLongBits(salary) != Double.doubleToLongBits(other.salary))return false;return true;}public class TestWorker {public static void main(String[] args) {// TODO Auto-generated method stubSet<Worker> set=new HashSet<Worker>();set.add(new Worker("tom",18,2000));set.add(new Worker("tom",18,2000));set.add(new Worker("jerry",18,2000));System.out.print(set.size());System.out.print(set.toString());}}
执行结果2[Test10.edcs10.Worker@fb467c93, Test10.edcs10.Worker@40d660df]

10.利用Map完成以下功能 从命令行读取一个字符串,表示一个年份,输出该年世界杯冠军是哪支球队。如果该年没有举办世界杯,则输出:没有举办世界杯

public class Test10 {public static void main(String[] args) {// TODO Auto-generated method stubMap<String, String> map = new HashMap<String, String>();map.put("2006", "意大利");map.put("2002", "巴西");map.put("1998", "法国");map.put("1994", "巴西");map.put("1990", "德国");map.put("1986", "阿根廷");map.put("1982", "意大利");map.put("1978", "阿根廷");map.put("1974", "德国");map.put("1970", "巴西");map.put("1966", "英格兰");map.put("1962", "巴西");map.put("1958", "巴西");map.put("1954", "德国");map.put("1950", "乌拉圭");map.put("1938", "意大利");map.put("1934", "意大利");map.put("1930", "乌拉圭");Scanner sc = new Scanner(System.in);System.out.println("请输入世界杯冠军的年份");String s = sc.nextLine();if (map.containsKey(s) == false) {System.out.println("该年没有举办世界杯");} else {System.out.println("该年的世界杯冠军是" + map.get(s));}}
}
请输入世界杯冠军的年份
1998
该年的世界杯冠军是法国

11.

已知某学校课程安排
(1)使用Map,以老师名字作为键,教授的课程名作为值,表示上述课程安排
(2)增加一位新教师Allen教JDBC
(3)Lucy改为教CoreJava
(4)遍历Map,输出所有老师及老师教授的课程
(5)利用Map,输出所有教JSP的老师

public class Test11 {public static void main(String[] args) {// TODO Auto-generated method stubMap<String,String> map=new HashMap<>();map.put("Tom", "CoreJava");map.put("John", "Oracle");map.put("Susan", "Oracle");map.put("Jerry", "JDBC");map.put("Jim", "Unix");map.put("Kevin", "JSP");map.put("Lucy", "JSP");map.put("Allen", "JDBC");map.replace("Lucy", "CoreJava");Set<String> s=map.keySet();System.out.println(map.toString());for(String i:s) {if(map.get(i).equals("JSP")) {System.out.println(i);}}}}
{Kevin=JSP, Tom=CoreJava, Susan=Oracle, John=Oracle, Lucy=CoreJava, Jerry=JDBC, Allen=JDBC, Jim=Unix}
Kevin

12.有如下代码:

class Student {String name;int age;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}public int hashCode() {return name.hashCode() + age;}public boolean equals(Object o) {if (o == null)return false;if (o == this)return true;if (o.getClass() != this.getClass())return false;Student stu = (Student) o;if (stu.name.equals(name) && stu.age == age)return true;elsereturn false;}
}public class TestHashSet {public static void main(String[] args) {Set<Student> set = new HashSet<Student>();Student stu1 = new Student();Student stu2 = new Student("Tom", 18);Student stu3 = new Student("Tom", 18);set.add(stu1);set.add(stu2);set.add(stu3);System.out.println(set.size());}
}
运行结果:编译正确,运行时异常,空指针异常

13.在原有世界杯Map的基础上,增加如下功能
读入一支球队的名字,输出该球队夺冠的年份列表

Scanner input = new Scanner(System.in);System.out.print("输入一个球队:");String str = input.nextLine();if (map.containsValue(str)) {for (String s : map.keySet()) {if (map.get(s).contains(str)) {System.out.println(s + "\t");}}} else {System.out.println("该球队没有获得过世界杯");}}
}
运行结果:输入一个球队:巴西
1962
1994
1970
2002
1958输入一个球队:中国
该球队没有获得过世界杯

14.给定一个字符串,输出该字符串由哪些字符组成,每个字符出现多少次

public class Test15 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);String s = sc.next();Map<Character, Integer> count = new HashMap<Character, Integer>();char[] chars = s.toCharArray();for (char ch : chars) {if (count.containsKey(ch)==false) {count.put(ch, 0);}int sum = count.get(ch);count.put(ch, sum+ 1);}Set<Character> keys = count.keySet();for (Character ch : keys) {System.out.println("字符" + ch + "出现次数:" + count.get(ch));}}}
fhosdvojpa
字符p出现次数:1
字符a出现次数:1
字符s出现次数:1
字符d出现次数:1
字符f出现次数:1
字符v出现次数:1
字符h出现次数:1
字符j出现次数:1
字符o出现次数:2

千锋逆战班学习第二十五天相关推荐

  1. 千锋逆战班学习第二十四天

    千锋逆战班 在千锋"逆战"学习第24天, 每个人生阶段都需要努力去扮好自己的角色,越努力越轻松,越坚强越幸运! 加油! 1(Object类)有下面代码 interface IA{v ...

  2. 千锋逆战班学习第二十三天 集合练习(一)

    千锋逆战班 在千锋"逆战"学习第23天, 每个人生阶段都需要努力去扮好自己的角色,越努力越轻松,越坚强越幸运! 加油! 2(List)有如下代码 import java.util. ...

  3. 千锋逆战班学习日志Day47

    千锋逆战班学习第47天 表单标签 CSS介绍 二.CSS和HTML结合 2.1CSS和HTML结合之内联结合 2.2CSS与HTML结合之内部部结合 2.3CSS和HTML结合之外部结合 三.访问路径 ...

  4. 千锋逆战班学习的第17天,final

    千锋学习的第17天今天学习的是 三大修饰符final中国加油,武汉加油. 七(final属性的初始化)有如下代码 1) class MyClass{ 2) final in value; 3) pub ...

  5. 游戏策划学习第二十五天

    游戏策划学习第二十五天 5/25 1.计划做几期分析英雄联盟开发者日记的视频,从游戏设计者的角度去看问题. 目前第一期视频预计做厄斐琉斯的设计理念,尝试写了下稿子,整体思路比较乱,不过大体上是想以一个 ...

  6. 1903java全套_#千锋逆战班,java1903#

    在千锋"逆战"学习第17天 SpringMVC运行流程: SpringMVC基础配置: 1.web.xml: dispatcherServlet / 2.controller层方法 ...

  7. #千锋逆战班,ssf# 在千锋“逆战”学习第 31天, 每个人生阶段都需要努力去扮好自己的角色,越努力越轻松,越坚强越幸运! 加油!

    第三题 对于 FileInputStream 来说,从方向上来分,它是输入 流,从数据单位上分,它是字节流,从功能上分,它是对象流. 第四题 I.无参的read方法返回值为int类型,表示从输入流中读 ...

  8. #千锋逆战班,拼搏永向前#

    在千峰"逆战"学习第十一天 如果有天我们湮没在人潮之中,庸碌一生,那是因为我们没有努力要活得丰盛 今天我学习了一下内容: 1.什么是JSP 2.JSP的语法 3.JSP的指令 4. ...

  9. #千锋逆战班,接口回调#

    在千锋学习的第十九天, 每个人生阶段都需要努力去扮演好自己的角色,越努力,越轻松,越坚强越幸运,加油! 中国加油!武汉加油,千锋加油!我自己加油! 导入java.lang.Comparable方法来对 ...

最新文章

  1. axt测试软件,【测试工具】这些APP实用测试工具,不知道你就out了!
  2. Python 读取图,旋转,缩放(PIL, matplotlib)
  3. 【Android 应用开发】BluetoothAdapter解析
  4. nosql数据库学习总结
  5. 【WPF】右键菜单ContextMenu可点击区域太小的问题
  6. linux驱动中地址空间转换
  7. 冷热rx-java可观察
  8. 执行计划 分析一条sql语句的效率 mysql_MySQL中一条SQL语句的执行过程
  9. java - 计算距离和反弹
  10. 使用Java框架Pronghorn编写快速的应用程序
  11. 请问spfa+stack 和spfa+queue 是什么原理
  12. 6 python高级数据处理和可视化
  13. 直播聊天室源码php,某网络直播聊天室源码 财经直播聊天系统
  14. UA PHYS515A 电磁理论IV 时变电磁场理论1 含时的麦克斯韦方程
  15. 数据分析——实习僧数据分析岗招聘信息分析
  16. 移动端开发注意的事宜
  17. java模拟加速匀速减速_Javascript模拟加速运动与减速运动代码分享
  18. 如何利用公众号赚更多钱?
  19. 如何提取公众号文章中的音频
  20. 属性的遍历:for...in 循环

热门文章

  1. 仿塞尔达传说天空Unity shaderlab
  2. 兰州交通大学计算机科学与技术专业排名,2017兰州交通大学全国排名多少位
  3. ubuntu 安装Intel RealSense ZR300
  4. CCF201709-2 公共钥匙盒(JAVA)
  5. 修改群名时服务器忙请重试,iOS修改群名称
  6. 小菜鸟的python学习之路(2)
  7. 什么是体系认证,企业进行认证有何意义?
  8. EXP-00002错误解决方法
  9. SimpleMind Pro for Mac(思维导图)中文完整版
  10. 无线通信基础知识5:射频器件的基本参数1