You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多个存储员工信息的HashMap存入同一个ArrayList集合

问题根因

你当前的代码每次新增员工时都会执行ArrayList<HashMap<String, String>> Employee = new ArrayList<>();逻辑,相当于每次都创建了一个全新的空ArrayList,自然只会保存当前最新的一条员工数据。

解决方案

核心修改逻辑

把存储员工的ArrayList提取为全局成员变量,只在类初始化的时候创建一次,后续每次新增员工时直接往已有的ArrayList里加数据即可,不要重复创建新的ArrayList。

代码示例(适配你当前的Android表单场景)

// 1. 在Activity/类的成员位置定义全局的员工列表,仅初始化一次
private ArrayList<HashMap<String, String>> employeeList = new ArrayList<>();

// 以下是表单提交触发逻辑,放在新增员工的按钮点击回调里即可
private void addEmployee() {
    String Nname = firstName.getText().toString();
    String Lname = lastName.getText().toString();
    String Mobile = mobile.getText().toString();
    String EMail = email.getText().toString();
    String DOB = dob.getText().toString();
    String Addr = addr.getText().toString();

    final HashMap<String,String> dictionary1 = new HashMap<>();
    dictionary1.put("firstName",Nname);
    dictionary1.put("lastName",Lname);
    dictionary1.put("Mobile",Mobile);
    dictionary1.put("Email",EMail);
    dictionary1.put("DOB",DOB);
    dictionary1.put("Address",Addr);

    // 2. 直接往已存在的全局列表里添加数据,不要重复新建ArrayList
    employeeList.add(dictionary1);

    // 打印所有员工信息
    System.out.println("Employee details" + employeeList);
}

补充说明

  • 如果需要跨页面保留员工数据,可以把这个ArrayList存到全局Application类、或是用SharedPreferences/本地数据库做持久化,避免页面销毁后数据丢失
  • 建议单独定义Employee实体类代替HashMap存储数据,类型更安全,后续扩展维护也更方便

内容的提问来源于stack exchange,提问作者Yogi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:24:05