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; } }