内容
1.集合框架
2.泛型
3.异常
目标
1.掌握常用的集合类(接口)
2.充分理解什么是泛型
3.掌握java中的异常处理
定义一个数组对象而不确定其大小时,解决方法:链表或者集合类(动态的改变),当集合类解决不了时用链表。
java设计者提供一系列的集合类。
java常用的集合类:Vector、Stack、ArrayList、LinkedList、Hashtable、HashMap
从上图可知java集合类主要有以下几种:
List结构的集合类:ArrayList类、LinkedList类、Vector类、Stack类
Map结构的集合类:HashMap类、Hashtable类
Set结构的集合类:HashSet类、TreeSet类
Queue结构的集合:Queue接口
ArrayList类的简易人员管理系统
java一个简易的人员管理系统/* * 演示一个简易的人员管理系统 * */ package test1; import java.util.*; import java.io.*; public class Demo6_2 { /** * @param args */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub //创建一个EmpManage对象 EmpManage em = new EmpManage(); while(true) { System.out.println("请选择一个:"); System.out.println("[1] 表示增加一个员工"); System.out.println("[2] 显示员工的信息"); System.out.println("[3] 修改员工的工资"); System.out.println("[4] 删除员工的信息"); System.out.println("[5] 退出系统"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String item = br.readLine(); if(item.equals("1")) { //提示增加新员工 System.out.println("请输入新员工的编号:"); String empNo = br.readLine(); System.out.println("请输入新员工的姓名:"); String name = br.readLine(); System.out.println("请输入新员工的工资:"); float sal = Float.parseFloat(br.readLine()); Emp emp = new Emp(empNo,name,sal); em.addEmp(emp); } else if(item.equals("2")) { //查询员工信息 System.out.println("请输入待查询员工的编号:"); String empNo = br.readLine(); em.showInfo(empNo); } else if(item.equals("3")) { //修改员工工资 System.out.println("请输入员工的编号:"); String empNo = br.readLine(); System.out.println("请输入新工资:"); float newSal = Float.parseFloat(br.readLine()); em.updateSal(empNo, newSal); } else if(item.equals("4")) { //删除员工 System.out.println("请输入员工的编号:"); String empNo = br.readLine(); em.delEmp(empNo); } else if(item.equals("5")) { //系统退出 System.exit(0); } } } } //雇员管理类 class EmpManage { private ArrayList al = null; public EmpManage() { al = new ArrayList(); } //加入员工 public void addEmp(Emp emp) { al.add(emp); } //根据员工号,显示员工的相关信息 public void showInfo(String empNo) { //遍历整个ArrayList for(int i=0; i<al.size(); i++) { //比较对象 Emp emp = (Emp)al.get(i); if(emp.getEmpNo().equals(empNo)) { System.out.println("找到该员工,其信息是:"); System.out.println("编号:"+empNo); System.out.println("名字:"+emp.getName()); System.out.println("薪水:"+emp.getSal()); } } } //修改工资 public void updateSal(String empNo,float newSal) { for(int i=0; i<al.size(); i++) { Emp emp = (Emp)al.get(i);//非基本类型,此处emp为引用 if(emp.getEmpNo().equals(empNo)) { //修改薪水 emp.setSal(newSal); } } } //删除某一个员工 public void delEmp(String empNo) { for(int i=0; i<al.size(); i++) { Emp emp = (Emp)al.get(i); if(emp.getEmpNo().equals(empNo)) { al.remove(emp);//或者al.remove(i) } } } } //雇员类 class Emp{ //雇员号 private String empNo; private String name; private float sal; //构造函数 public Emp(String empNo, String name, float sal) { this.empNo = empNo; this.name = name; this.sal = sal; } public String getEmpNo() { return empNo; } public void setEmpNo(String empNo) { this.empNo = empNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getSal() { return sal; } public void setSal(float sal) { this.sal = sal; } }
代码如上所示