Android开发之从零开始之java-集合框架-ArrayListpackage testimport java.io.BufferedReaderimport jav
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{//ArrayListArrayList<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;}}