内容
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;
}
}
代码如上所示