Java SE(5)
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)相关推荐
- 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 ...
- [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](1)
MIS信息管理系统实战开发之使用MySQL实现保存 开发背景 ID.姓名.年龄为公共信息,而学生有成绩,工人有工资 定义一个抽象类Person(ID.姓名.年龄),学生是其子类,有成绩,工人是其子类有 ...
- java se 与j2se_关于java:J2EE和J2SE项目之间的区别
本问题已经有最佳答案,请猛点这里访问. 我已经从github下载了一个开源项目. 这是一个基于Maven的项目. 我如何理解该项目是J2SE项目还是J2EE项目? 这两种项目在结构上有何不同? Jav ...
- 浅谈Java SE、Java EE、Java ME三者的区别
1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程 ...
- Android SDK Tools Setup 提示 “ java se development kit not found”
使用 installer_r11-windows.exe:安装Android SDK. 使用exe安装会自动检测是否配置好JDK. 当安装和配置完JDK后,运行安装程序依旧会提示 java se de ...
- Java SE和Java EE应用的性能调优
凡事预则立,不预则废,和许多事情一样,Java性能调优的成功,离不开行动计划.方法或策略以及特定的领域背景知识.为了在Java性能调优工作中有所成就,你得超越"花似雾中看"的状态, ...
- 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结
2019独角兽企业重金招聘Python工程师标准>>> 阅读目录 接口中的默认方法和静态方法 函数式接口和Lambda表达式 Stream API 新的日期和时间 API 杂项改进 ...
- 零基础学JAVA]Java SE基础部分-01. Java发展及JDK配置
1.课程名称:Java发展及JDK配置 本季介绍了JAVA的发展过程,包括JDK的发展历程,path路径的配置和classpath的配置及作用.并简单讲解了一个简单的JAVA程序,并通过此程序讲解了J ...
- java se翻译_(翻译)Java SE 8 Lambda 标准库概览(下)
Java SE 8 Lambda 标准库概览 8,Collectors 在目前的例子中,我们已经使用了collect()方法来收集流中的元素并放入List或Set中了.collec()方法的参数是一个 ...
- JDK版本Java SE、Java EE、Java ME的区别
想在win7 X64上搭建JAVA开发环境来着(只是尝试下),打开JAVA 官网下载JDK,发现好多版本懵了,百度了下找到这些版本的区别,故有了下文 1.JAVA SE Java2平台标准版(Java ...
最新文章
- Zookeeper源码分析:选举流程
- 用Java2D画出树的结构图
- 【SmartJob】配置说明
- 创建Silverlight 1.0 開發環境
- antd 轮播图样式_React - AntD 走马灯组件前后切换面板
- 服务器能安装ios系统吗,想给iPhone重装iOS,怎能不用iMazing
- Java并发包--阻塞队列(BlockingQueue)
- SAP Spartacus单元测试用例中Component构造函数的调用上下文
- eclipse web项目页面显示404_404 Not Found错误页面是什么?
- 互联网对实体经济的三轮冲击
- 别了,腾讯!别了,深圳!我去老家当富豪了!
- 关于“Windows Script Host...”错误
- 关于编辑Windows的右键【新建】删除和添加
- 系统架构设计笔记(13)—— 数据挖掘
- 东胜区智慧城市管理运行初见端倪
- 家庭最好用的投影仪,投影仪怎么选择?
- 上海养老保险(社保)缴费记录查询
- Python中ASCII码的获取
- ENVI数据文件打开
- 自动注册activex控件
热门文章
- cat5e跑万兆_全网最标准的万兆网线测试!超五类到底能不能跑万兆?
- #matplotlib#如何设置坐标轴显示时间的范围
- 基层管理者的第一步——从“我”变成“我们”
- 好的中层管理者要兼顾公司和员工的利益
- 网络工程师必知:网关与防火墙有什么区别?
- 鸿蒙渊主线任务,《天下3》更新公告(版本2.0.848)
- Julia教程:Julia语言入门
- TP50 TP90 TP95 TP99 TP999 TP9999
- Win10配置adb环境
- 简析无线网络加密算法之CCMP加密算法