1.使用Map接口的实现类完成员工工资(姓名–工资)的摸拟:
1)添加几条信息
2)列出所有的员工姓名
3列出所有员工姓名及其工资
4)删除名叫“Tom”的员工信息
5)输出Jack的工资,并将其工资加1000元(通过取值实现)
6)将所有工资低于1000元的员工的工资上涨20%(通过取值实现)

public static void main(String[] args) {Map<String, Worker> map = new HashMap<>();Worker worker1 = new Worker("张三", 800);Worker worker2 = new Worker("李四", 2500);Worker worker3 = new Worker("王五", 900);Worker tom = new Worker("Tom", 3000);Worker jack = new Worker("Jack", 2100);map.put("张三", worker1);map.put("李四", worker2);map.put("王五", worker3);map.put("Tom", tom);map.put("Jack", jack);Set<String> names = map.keySet();Iterator<String> iterator = names.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}iterator = names.iterator();while (iterator.hasNext()) {String name = iterator.next();System.out.println(name + ":" + map.get(name).salary);}map.remove("Tom");System.out.println("Jack的工资为:" + map.get("Jack").salary);map.get("Jack").setSalary(map.get("Jack").getSalary() + 1000);System.out.println("Jack变动后的的工资:"+map.get("Jack").salary);Collection<Worker> values = map.values();Iterator<Worker> iterator1 = values.iterator();while (iterator1.hasNext()) {Worker w = iterator1.next();if (w.getSalary() < 1000)w.setSalary(w.getSalary() * 1.2);}System.out.println(map);}static class Worker {String name;double salary;public Worker(String name, int salary) {this.name = name;this.salary = salary;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}@Overridepublic String toString() {return "Worker{" +"name='" + name + '\'' +", salary=" + salary +'}';}}

2.分析以下需求,并用代码实现:
(1)定义一个学生类Student,包含属性:姓名(String name)、年龄(int age)
(2)定义Map集合,用Student对象作为key,用字符串(此表示表示学生的住址)作为value
(3)利用三种方式遍历Map集合中的内容

 public static void main(String[] args) {HashMap<Student,String> students=new HashMap<>();students.put(new Student("张三",22),"河北省");students.put(new Student("李四",25),"河南省");students.put(new Student("王五",27),"湖北省");students.put(new Student("赵六",23),"湖南省");// 方法一Set<Student> keySet = students.keySet();for (Student stu:keySet) {System.out.println(stu+" , "+students.get(stu));}//方法二Collection<String> values=students.values();for (String r:values) {System.out.println(r);}//方法三Set<Map.Entry<Student, String>> entrySet = students.entrySet();for (Map.Entry<Student, String> a:entrySet) {System.out.println(a);}}
// 创建一个学生类
public class Student {private String name;private int age;public Student(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}
}

3.统计一个字符串中字母字符,数字字符出现的次数。(不考虑其他字符)

public static void main(String[] args) {String str="wqewqdadsa321324564dwqd32as1d56qw1da41s65d4qw1d31as32d13q";Map<String,Integer> map=new HashMap<>();// key : zm 代表字母  num 代表数字// values : 代表出现次数for (int i = 0; i <str.length() ; i++) {char c=str.charAt(i);if(Character.isAlphabetic(c)){if(map.containsKey("zm")){map.put("zm",map.get("zm")+1);}else {map.put("zm",1);}}else {if(map.containsKey("num")){map.put("num",map.get("num")+1);}else {map.put("num",1);}}}System.out.println(map);}

Java SE(5)相关推荐

  1. oracle java rmi 漏洞,Oracle Java SE Java运行时环境RMI子组件远程漏洞(CVE-2011-3556)

    发布日期:2011-10-20 更新日期:2011-10-20 受影响系统: Oracle Sun JRE 1.6.x Oracle Sun JDK 1.6.x 不受影响系统: Oracle Sun ...

  2. [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](1)

    MIS信息管理系统实战开发之使用MySQL实现保存 开发背景 ID.姓名.年龄为公共信息,而学生有成绩,工人有工资 定义一个抽象类Person(ID.姓名.年龄),学生是其子类,有成绩,工人是其子类有 ...

  3. java se 与j2se_关于java:J2EE和J2SE项目之间的区别

    本问题已经有最佳答案,请猛点这里访问. 我已经从github下载了一个开源项目. 这是一个基于Maven的项目. 我如何理解该项目是J2SE项目还是J2EE项目? 这两种项目在结构上有何不同? Jav ...

  4. 浅谈Java SE、Java EE、Java ME三者的区别

    1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程 ...

  5. Android SDK Tools Setup 提示 “ java se development kit not found”

    使用 installer_r11-windows.exe:安装Android SDK. 使用exe安装会自动检测是否配置好JDK. 当安装和配置完JDK后,运行安装程序依旧会提示 java se de ...

  6. Java SE和Java EE应用的性能调优

    凡事预则立,不预则废,和许多事情一样,Java性能调优的成功,离不开行动计划.方法或策略以及特定的领域背景知识.为了在Java性能调优工作中有所成就,你得超越"花似雾中看"的状态, ...

  7. 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结

    2019独角兽企业重金招聘Python工程师标准>>> 阅读目录 接口中的默认方法和静态方法 函数式接口和Lambda表达式 Stream API 新的日期和时间 API 杂项改进 ...

  8. 零基础学JAVA]Java SE基础部分-01. Java发展及JDK配置

    1.课程名称:Java发展及JDK配置 本季介绍了JAVA的发展过程,包括JDK的发展历程,path路径的配置和classpath的配置及作用.并简单讲解了一个简单的JAVA程序,并通过此程序讲解了J ...

  9. java se翻译_(翻译)Java SE 8 Lambda 标准库概览(下)

    Java SE 8 Lambda 标准库概览 8,Collectors 在目前的例子中,我们已经使用了collect()方法来收集流中的元素并放入List或Set中了.collec()方法的参数是一个 ...

  10. JDK版本Java SE、Java EE、Java ME的区别

    想在win7 X64上搭建JAVA开发环境来着(只是尝试下),打开JAVA 官网下载JDK,发现好多版本懵了,百度了下找到这些版本的区别,故有了下文 1.JAVA SE Java2平台标准版(Java ...

最新文章

  1. Zookeeper源码分析:选举流程
  2. 用Java2D画出树的结构图
  3. 【SmartJob】配置说明
  4. 创建Silverlight 1.0 開發環境
  5. antd 轮播图样式_React - AntD 走马灯组件前后切换面板
  6. 服务器能安装ios系统吗,想给iPhone重装iOS,怎能不用iMazing
  7. Java并发包--阻塞队列(BlockingQueue)
  8. SAP Spartacus单元测试用例中Component构造函数的调用上下文
  9. eclipse web项目页面显示404_404 Not Found错误页面是什么?
  10. 互联网对实体经济的三轮冲击
  11. 别了,腾讯!别了,深圳!我去老家当富豪了!
  12. 关于“Windows Script Host...”错误
  13. 关于编辑Windows的右键【新建】删除和添加
  14. 系统架构设计笔记(13)—— 数据挖掘
  15. 东胜区智慧城市管理运行初见端倪
  16. 家庭最好用的投影仪,投影仪怎么选择?
  17. 上海养老保险(社保)缴费记录查询
  18. Python中ASCII码的获取
  19. ENVI数据文件打开
  20. 自动注册activex控件

热门文章

  1. cat5e跑万兆_全网最标准的万兆网线测试!超五类到底能不能跑万兆?
  2. #matplotlib#如何设置坐标轴显示时间的范围
  3. 基层管理者的第一步——从“我”变成“我们”
  4. 好的中层管理者要兼顾公司和员工的利益
  5. 网络工程师必知:网关与防火墙有什么区别?
  6. 鸿蒙渊主线任务,《天下3》更新公告(版本2.0.848)
  7. Julia教程:Julia语言入门
  8. TP50 TP90 TP95 TP99 TP999 TP9999
  9. Win10配置adb环境
  10. 简析无线网络加密算法之CCMP加密算法