Android开发之从零开始之java-聚合框架-ArrayList

Android开发之从零开始之java-集合框架-ArrayList
package test;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

/*
 * 作者:钟志钢
 * 功能:集合框架之ArrayList
 * 时间:2013-1-26
 * 1,List结构:ArrayList,LinkedList,Vector,Stack;
 * 2, Map结构:HashMap, Hashtable;
 * 3, set结构:HastSet,TreeSet;
 * 4, Queue结构:Queue接口
 */
public class 集合框架 {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		//ArrayList
		ArrayList<Clerk> al = new ArrayList<Clerk>();
		Clerk c1 = new Clerk("宋江", 50, 1000);
		al.add(c1);//添加到尾部
		Clerk c3 = new Clerk("吴用", 45, 2000);
		al.add(c3);//添加到尾部
		al.add(c3);//可以加相同的对象
		System.out.println("al.lenght=" + al.size());
		Clerk c2 = new Clerk("武松", 30, 10004.4f);
		al.add(0, c2);//加到指定位置,原来的会往看推
		al.remove(3);//删除相应的对象
		//System.out.println(al.get(1).getName());
		for(Clerk c : al){
			//System.out.println(c.getName());
		}
		//用一个类来专门管理员工的信息
		EmpManage emp = new EmpManage();
		//读取输入
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		while(true){
			System.out.println("请按提示操作");
			System.out.println("1:添加一个员工");
			System.out.println("2:查找一个员工");
			System.out.println("3:修改一个员工工资");
			System.out.println("4:删除一个员工");
			System.out.println("6: 查找所有员工");
			System.out.println("5:退出程序");
			String op = br.readLine();
			if(op.equals("1")){
				System.out.println("请输入名字:");
				String name = br.readLine();
				System.out.println("请输入年龄:");
				int age = Integer.valueOf(br.readLine());
				System.out.println("请输入薪水:");
				float sal = Float.parseFloat(br.readLine());
				Clerk c = new Clerk(name, age, sal);
				emp.addEmp(c);
				//System.out.println("添加成功");
			}else if(op.equals("2")){
				System.out.println("请输入员工姓名");
				String qname = br.readLine();
				emp.info(qname);
			}else if(op.equals("3")){
				System.out.println("请输入要修改员工的姓名:");
				String uname = br.readLine();
				System.out.println("请输入要修改的工资:");
				float newsal = Float.parseFloat(br.readLine());
				emp.updateSal(uname, newsal);
				//System.out.println("修改成功");
			}else if(op.equals("4")){
				System.out.println("请输入要删除的员工名字:");
				String dname = br.readLine();
				emp.delEmp(dname);
				//System.out.println("删除成功");
			}else if(op.equals("5")){
				System.exit(0);
			}else if(op.equals("6")){
				emp.queal();
			}
		}

		
		//LinkedList.可序列的链表
		//LinkedList ll = new LinkedList();
		
	}

}
class EmpManage{//员工管理类
	private ArrayList<Clerk> al = null;
	public EmpManage(){
		al = new ArrayList<Clerk>();
	}
	public void queal() {
		for(Clerk c : al){
			System.out.println("员工名:" + c.getName()+",薪水是:" 
					+ c.getSal()+ ",年龄是" + c.getAge());
		}
		
	}
	//加入员工
	public void addEmp (Clerk c ){
		
		al.add(c);
	}
	//删除员工
	public void delEmp (String name){
		boolean b = false;
		for(Clerk c : al){
			if(c.getName().equals(name)){//String 类型数据用==比较的是地址
				al.remove(c);
				b = true;
				break;
			}
		}
		if(!b){
			System.out.println("查无此人");
		}else{
			System.out.println("删除成功");
		}
	}
	//显示员工的相关信息
	public void info(String name){
		boolean b = false;
		for(int i = 0; i < al.size(); i ++){
			Clerk c = al.get(i);
			if(c.getName().equals(name)){
				b = true;
				System.out.println("你查找的员工:" + c.getName()+",薪水是:" 
						+ c.getSal()+ ",年龄是" + c.getAge());
				break;
			}
		}
		if(!b){
			System.out.println("查无此人");
		}else{
			System.out.println("查询成功");
		}
	}
	//修改员工工资
	public void updateSal(String name , float sal){
		boolean b = false;
		for(Clerk c : al){
			if(c.getName().equals(name)){
				c.setSal(sal);
				b = true;
			}
		}
		if(!b){
			System.out.println("查无此人");
		}else{
			System.out.println("修改成功");
		}
	}
}
class Clerk {//员工类
	private String name;
	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;
	}
	public float getSal() {
		return sal;
	}
	public void setSal(float sal) {
		this.sal = sal;
	}
	private int age;
	private float sal;
	public Clerk (String name, int age, float sal){
		this.age = age;
		this.name = name;
		this.sal = sal;
	}
}