ArrayList、HashMap 与 员工类(程序员、经理的结合使用) 相当于集合与继承的总结

  1 package Day28ketangzuoye;
  2
  3 import java.util.ArrayList;
  4 import java.util.HashMap;
  5 import java.util.Map;
  6
  7 public class EmployeeTest {
  8
  9     public static void main(String[] args) {
 10         Emp se1=new SE(0001,"蔡正",true,6000,80);
 11         Emp se2=new SE(0002,"丁陆",true,7000,89);
 12
 13         Emp pm1=new PM(1001,"王拥江",true,9000,"一年",3000);
 14         Emp pm2=new PM(1002,"贝杰明",true,13000,"七年",5000);
 15
 16         System.out.println("ArrayList");
 17         ArrayList<Emp> list=new ArrayList<Emp>();
 18         list.add(se1);
 19         list.add(se2);
 20         list.add(pm1);
 21         list.add(pm2);
 22         SE e;
 23         PM m;
 24         for(Emp p:list){
 25             if(p instanceof SE){
 26                 e=(SE)p;
 27                 e.show();
 28             }else if(p instanceof PM){
 29                 m=(PM)p;
 30                 m.show();
 31             }else{
 32                 System.out.println("出错!");
 33             }
 34         }
 35
 36         System.out.println("\n\n HashMap");
 37         Map<String,Emp> map=new HashMap<String,Emp>();
 38         map.put("蔡正",se1);
 39         map.put("丁陆",se2);
 40         map.put("王拥江",pm1);
 41         map.put("贝杰明",pm2);
 42         String[] str={"蔡正","丁陆","王拥江","贝杰明"};
 43         Emp p;
 44         for(int i=0;i<map.size();i++){
 45              p=map.get(str[i]);
 46             if(p instanceof SE){
 47                 e=(SE)p;
 48                 e.show();
 49             }else if(p instanceof PM){
 50                 m=(PM)p;
 51                 m.show();
 52             }else{
 53                 System.out.println("出错!");
 54             }
 55         }
 56
 57     }
 58 }
 59
 60 class Emp {
 61     public  int id;
 62     public  String name;
 63     public  boolean gender;
 64     public  double salary;
 65
 66
 67     public Emp() {
 68         super();
 69     }
 70
 71     public Emp(int id, String name, boolean gender, double salary) {
 72         super();
 73         this.id = id;
 74         this.name = name;
 75         this.gender = gender;
 76         this.salary = salary;
 77     }
 78
 79     public void show(){};
 80 }
 81
 82 class SE extends Emp {
 83     int hot;
 84
 85     public SE(int id, String name, boolean gender, double salary,int hot) {
 86         super(id,name,gender,salary);
 87         this.hot = hot;
 88     }
 89
 90     @Override
 91     public void show() {
 92         System.out.println("SE [id=" + id + ", name=" + name + ", gender="
 93                 + gender + ", salary=" + salary + ", hot=" + hot + "]");
 94     }
 95 }
 96
 97 class PM extends Emp{
 98     String exp;
 99     double bonus;
100
101
102     public PM(int id, String name, boolean gender, double salary,String exp, double bonus) {
103         super(id,name,gender,salary);
104         this.exp = exp;
105         this.bonus = bonus;
106     }
107
108
109     @Override
110     public void show() {
111         System.out.println("PM [id=" + id + ", name=" + name + ", gender="
112                 + gender + ", salary=" + salary + ", exp=" + exp + ", bonus=" + bonus + "]");
113     }
114 }
 1 ArrayList
 2 SE [id=1, name=蔡正, gender=true, salary=6000.0, hot=80]
 3 SE [id=2, name=丁陆, gender=true, salary=7000.0, hot=89]
 4 PM [id=1001, name=王拥江, gender=true, salary=9000.0, exp=一年, bonus=3000.0]
 5 PM [id=1002, name=贝杰明, gender=true, salary=13000.0, exp=七年, bonus=5000.0]
 6
 7
 8  HashMap
 9 SE [id=1, name=蔡正, gender=true, salary=6000.0, hot=80]
10 SE [id=2, name=丁陆, gender=true, salary=7000.0, hot=89]
11 PM [id=1001, name=王拥江, gender=true, salary=9000.0, exp=一年, bonus=3000.0]
12 PM [id=1002, name=贝杰明, gender=true, salary=13000.0, exp=七年, bonus=5000.0]
时间: 2024-08-19 06:36:05

ArrayList、HashMap 与 员工类(程序员、经理的结合使用) 相当于集合与继承的总结的相关文章

黑马程序员----java基础--JDK新特性和集合其他类

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.JDK1.5新特性 JDK升级的三大原因: (1).提高代码的复用性 (2).提高代码的安全性 (3).简化书写 1.泛型机制 JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. (1).泛型概念 泛型是根据数组的思想设计出来的,因为数组一旦建立成功就已经明确了数据类型,所以可根据数组思想给集合指定类型. 如:数组:int[] arr=new int[4]; 而集合的泛

黑马程序员——面向对象的三个特征:封装、继承、多态

------- <a href="http://www.itheima.com" target="blank">android培训</a>.<a href="http://www.itheima.com" target="blank">java培训</a>.期待与您交流! ---------- 一.封装 1. 概念 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 2. 好

程序员的种类

程序员的种类 当了几年的程序员了,一直都在想一个问题,什么是程序员,程序员应该做好那些事情,什么样的程序员是有素质的程序员?什么样的程序员算是负责的程序员呢? 工作当中我发现有不少员工是为了工作而工作,怎么回事呢?他们只是把我分配的工作分毫不差的完成,但从不问为什么?有些程序员是喜欢随便改变需求,自己感觉不错就得改,改了还不做报告,最后上交项目时才发现和需求不一样?于是傻了. 我根据自己的经验把程序员分为以下几种 单纯没有脑子的 ---------------------------------

看顶级高手如何编程--从带程序员新手想到的

当了几年的程序员了,虽然写码的时间多点,但手上也管理过.带过一部分程序员.一直都在想一个问题,什么是程序员,程序员应该做好那些事情,什么样的程序员是有素质的程序员?什么样的程序员算是负责的程序员呢? 工作当中我发现有不少员工是为了工作而工作,怎么回事呢?他们只是把我分配的工作分毫不差的完成,但从不问为什么?有些程序员是喜欢随便改变需求,自己感觉不错就得改,改了还不做报告,最后上交项目时才发现和需求不一样?于是傻了. 我根据自己的经验把程序员分为以下几种 1.单纯没有脑子的:这种员工是最气人的一种

干程序员辣么久,你为什么还没有年薪60万?

首先总结一下年薪超过60万的程序员在哪些公司工作,大致可以分为以下几类: 1BAT 和其他盈利能力强的大公司 附:阿里级别对应薪资 不仅限于 BAT,其他盈利能力强的互联网大公司,高层技术员工达到60万以上年薪是比较容易的. 关注两个限定词:盈利能力强.大公司. 有些公司虽然员工数达到数千人,但盈利能力弱甚至常年亏损.如果所处细分领域.产品模式也不处于风口浪尖上,不被投资者看好,那么即使规模大,员工工资也不会高,可能低于初创期公司的员工薪水. 再来说第二点——大公司.对于六十万年薪以上的高水平程

资深程序员告诉你如何做到年薪 50 万!

每天的工作就是和程序员以及 offer 打交道,回答问题应该很合适. 程序员都很诚恳,薪水没达到预期,会反思是不是自己的技术水平不够. 但事实上,技术能力并不是决定薪酬的唯一因素,供需关系对薪酬的影响非常大. 很多时候,两个能力差不多的程序员却在薪水上有较大的差异.并不鼓励轻易跳槽,但了解市场行情是很有必要的. 达到五十万以上年薪,最重要的是,公司有这样的招聘需求而求职者正好匹配,所以在求职时选择正确的方向十分重要. 总结一下我遇到的年薪超过 50 万的程序员在哪些公司工作,大致可以分为以下几类

Java程序员注意了:奠定你发展的黄金五年,你准备如何把握好?

在Java业界流行着一种说法--黄金5年,就是从程序员入职时算起,前五年的工作选择直接影响整个职业生涯的职业发展和薪资走向.如何把握这五年,从一个刚入行的菜鸟蜕变成一个处事不惊的大佬,这是一个涉及到自身的专业知识储备和选择的难题,那么,一个Java程序员如何做才能完成从入行到大佬的晋升之路呢? 参加工作1-2年之间 在这段时间里,想必对Java已经有了一个深入的了解.首先,你要非常熟悉设计模式,看一些关于代码编写优化的书,提高你的代码能力,能够写出一手优雅的代码:其次,你在工作过程中肯定接触过并

Java——(五)Collection之List集合、ArrayList和Vector实现类

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.List集合 List集合代表一个元素有序.客重复的集合,集合中每个元素都有其对应的顺序索引.List 集合允许使用重复元素,可以通过索引来访问指定位置的集合元素.List集合默认按元素的添加 顺序设置元素的索引,例如第一次添加的元素索引为0,第二次添加的元素索引为1...... 1.List接口和ListIterator接口 List作为Collection接口的子接口,所以可以使用Co

程序员的职业发展

程序员的职业发展 本文为转载,以供参考.因为找不到原作者的文章出处,故没有原文链接.知道原文地址的朋友麻烦给出链接.谢谢. 作者:IBM 软件集团大中华区总架构师 寇卫东 有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功.到底选哪条路,取决于自己的兴趣.可能有程序员会问: 如果还没找到自己的兴趣怎么办?我的建议是多尝试,努力做,这是职业生涯的必经之路.当你积累了一定的技术和经验之后,就会面临多种选择.选择哪条路,因 人而异. 如果对某一种或几种技术非常