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;
- }
- }
复制代码 |
|