黑马程序员----集合类(ArrayList)的学习整理

来源:互联网 发布:江南杨治的妻子 知乎 编辑:程序博客网 时间:2024/05/16 17:50

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

ArrayList是一个装对象的容器,它是对象的集合,它在创建时不需要给定容量。

ArrayList的一些常用操作:

1、泛型

2、增删改查

我用以下这个例子来说明ArrayList的使用。

/** * 功能:ArrayList集合类的一些总结 * 以做一个公司职员管理系统为例进行说明,此系统主要的功能有: * 1、添加新的员工 * 2、修改员工工资 * 3、删除员工 * 4、根据编号查询员工信息 * 5、显示所有员工信息 * 6、显示平均工资 */package myblog;import java.io.*;import java.util.ArrayList;public class ArrayListSetClass  {public static void main(String []args) throws Exception{EmpManage em=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("5:显示所有员工信息");System.out.println("6:显示平均工资");System.out.println("7:关闭系统"); String s=br.readLine();  if(s.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()); em.addEmp(empNo, name, sal);  }else if(s.equals("2")){ System.out.println("请输入员工编号"); String empNo=br.readLine(); System.out.println("请输入该员工的新工资"); float sal=Float.parseFloat(br.readLine()); em.changeSal(empNo, sal);  }else if(s.equals("3")){ System.out.println("请输入员工编号"); String empNo=br.readLine(); em.delEmp(empNo); }else if(s.equals("4")){ System.out.println("请输入员工编号"); String empNo=br.readLine(); em.searchEmp(empNo); }else if(s.equals("5")){ em.searchAll(em.al); }else if(s.equals("6")){ em.avgSal(em.al); }else if(s.equals("7")){ break; }}}}//管理员工的类class EmpManage{//创建ArrayList时,后面的尖括号代表泛型,表示ArrayList里的全都是<>里的类型ArrayList<Emp> al=new ArrayList<Emp>();//输入编号、姓名、工资,增加一个员工的方法public void addEmp(String empNo,String name,float sal){Emp emp=new Emp(empNo,name,sal);al.add(emp);}//输入员工编号和新工资,修改员工工资的方法public void changeSal(String empNo,float sal){for(int i=0;i<al.size();i++){Emp emp=al.get(i);if(emp.getEmpNo().equals(empNo)){emp.setSal(sal);}}}//输入员工编号,删除员工的方法public void delEmp(String empNo){for(int i=0;i<al.size();i++){Emp emp=al.get(i);if(emp.getEmpNo().equals(empNo)){al.remove(i);}}}//根据员工的编号,查询员工的信息的方法public void searchEmp(String empNo){for(int i=0;i<al.size();i++){Emp emp=al.get(i);if(emp.getEmpNo().equals(empNo)){System.out.println("该员工的信息:");System.out.println("编号:"+emp.getEmpNo());System.out.println("姓名:"+emp.getName());System.out.println("工资:"+emp.getSal());}}}//查询集合里所有员工的信息public void searchAll(ArrayList<Emp> al){for(int i=0;i<al.size();i++){Emp emp=al.get(i);{System.out.println("编号:"+emp.getEmpNo()+"姓名:"+emp.getName()+"工资:"+emp.getSal());}}}//显示平均工资public void avgSal(ArrayList<Emp> al){float allSal=0;for(int i=0;i<al.size();i++){Emp emp=al.get(i);{allSal+=emp.getSal();}}System.out.println("平均工资是:"+allSal/al.size());}}//创建一个职员类class Emp{//创建职员类的私有成员变量 编号、姓名、工资并用get、set方法表示出来private String empNo;private String name;private float 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;}//构造函数public Emp(String empNo,String name,float sal){this.empNo=empNo;this.name=name;this.sal=sal;}}


0 0
原创粉丝点击