java - 我可以缩短这个程序吗
问题描述
我不喜欢在运行时动态地给出 arraylist 值。但我需要 ArrayList 和 hashTable 的循环来缩短程序。
public class HashTable2
{
public static void main(String[] args)
{
Hashtable<Integer, ArrayList<String>> hasTable1 = new Hashtable<Integer, ArrayList<String>>();
ArrayList<String> arrList1 = new ArrayList<String>();
ArrayList<String> arrList2 = new ArrayList<String>();
ArrayList<String> arrList3 = new ArrayList<String>();
ArrayList<String> arrList4 = new ArrayList<String>();
ArrayList<String> arrList5 = new ArrayList<String>();
ArrayList<String> arrList6 = new ArrayList<String>();
arrList1.add("MasoodAzar, 10000, Finance");
arrList2.add("Abu Bakr, 20000, Logistics");
arrList3.add("MuhammedRasul, 5000, Sales");
arrList4.add("SubhanQuershi, 2500, Sales");
arrList5.add("Hafiz Saeed, 25000, Purchase");
arrList6.add("Shekau, 14500, Purchase");
hasTable1.put(251, arrList1);
hasTable1.put(355, arrList2);
hasTable1.put(754, arrList3);
hasTable1.put(384, arrList4);
hasTable1.put(463, arrList5);
hasTable1.put(835, arrList6);
System.out.println(hasTable1);
}
}
解决方案
您可以编写一个函数来抽象出重复的代码:
void addEmployee(Hashtable hashTable, int id, String employeeDetails) {
ArrayList<String> employees = new ArrayList<>();
employees.add(employeeDetails);
hashTable.put(id, employees);
}
您应该使用 HashMap 而不是 Hashtable - Hashtable 是同步的,这在此处不是必需的。
您可能还应该用一个类来表示员工,并为其属性提供可访问的字段。
推荐阅读
- reactjs - 请求反应挂钩后更新列表
- javascript - 如何更改输入的值以触发 onChange 事件?
- python - 创建进化系统
- python - 使用 Windows Heroku 找不到 Web 进程 procfile 错误
- powershell - 用于解压缩文件的powershell日期动态
- react-native - 使用 react-redux 时,“路由''的组件必须是 React 组件”
- excel - VLOOKUP 和 MATCH 函数用于从 Excel 中的表中提取数据。我可以在多个单元格中使用相同的功能吗?
- excel - 如何使用 MATLAB 从 Excel 电子表格中复制行的格式并将其粘贴到另一个 Excel 电子表格中?
- microsoft-teams - Microsoft 团队应用程序中的消息传递扩展预览中的链接
- docker - 使用默认 seccomp 配置文件时,Docker 无法构建映像