Java如何获取员工总数量及ArrayList中指定位置的Employee对象
实现思路
我们只需要在Employees类中新增两个对外的公共方法即可满足需求:
- 统计员工总数:直接调用ArrayList内置的
size()方法返回集合长度即可 - 读取第n位员工:先做参数合法性校验避免下标越界,再调用ArrayList的
get()方法返回对应位置的对象。注意Java集合默认下标从0开始,如果需求里的第n位是从1计数的,要额外做-1处理。
补全后的代码实现
Employee类(补充getter方便后续获取属性)
//Employee.java public class Employee { private String name; private String email; public Employee (String name, String email) { this.name = name; this.email = email; } // 新增getter方法,拿到Employee对象后可读取私有属性 public String getName() { return name; } public String getEmail() { return email; } }
Employees类(新增需求对应的方法)
//Employees.java import java.util.ArrayList; public class Employees { private ArrayList<Employee> employees; public Employees(){ this.employees = new ArrayList<Employee>(); employees.add(new Employee("Thomas Muller","thomas.muller@uts.com")); } // 需求1:获取员工总数量 public int getEmployeeCount() { return employees.size(); } // 需求2:返回第n个位置的Employee对象,默认下标从0开始 // 如果业务要求第n位从1计数,把返回值改为employees.get(n-1)即可 public Employee getEmployeeByIndex(int n) { // 校验下标合法性,避免数组越界异常 if (n < 0 || n >= employees.size()) { throw new IllegalArgumentException("输入位置不合法,有效范围是0到" + (employees.size()-1)); // 也可根据业务需要返回null替代抛出异常 } return employees.get(n); } }
调用示例
public class Test { public static void main(String[] args) { Employees emps = new Employees(); // 调用获取总数量方法 System.out.println("员工总人数:" + emps.getEmployeeCount()); // 调用获取指定位置员工方法 Employee firstEmp = emps.getEmployeeByIndex(0); System.out.println("首位员工姓名:" + firstEmp.getName()); } }
内容的提问来源于stack exchange,提问作者Mimi
相关产品推荐
相关产品推荐

