java - 在 Java 中的循环内初始化 HashMap
问题描述
我正在处理的当前班级作业要求我们使用哈希图来查找列表中的常见元素,同时还要跟踪给定嵌套数组列表的重复项(因此,如果多个列表有三个 3,我需要跟踪它)。我们被告知为每个列表制作一个哈希图,然后使用哈希图更有效的搜索功能将列表相互比较。我不确定是否有办法为每个数组动态创建一个新的哈希图。我避免对哈希图进行硬编码(知道有 4 个列表并在循环之前初始化 4 个哈希图)。有没有办法在我的循环中初始化和命名新的哈希图?如果没有,是否有更好的方法将列表转换为哈希图?谢谢!
HashMap<Integer, Integer> allCollections = new HashMap<>();
//Iterates through each list
for (int i = 0; i < collections.size(); i++) {
//Iterates the elements in the lists
for (int j = 0; j < collections.get(i).size(); j++) {
// convert to hashmap here
if (allCollections.get(collections.get(i).get(j)) == null) {
// add to hashmap for first time
allCollections.put((Integer) collections.get(i).get(j), 1);
} else {
// Update value for pre-existing key
allCollections.put((Integer) collections.get(i).get(j), allCollections.get(collections.get(i).get(j)) + 1);
}
}
}
解决方案
推荐阅读
- node.js - 获取类型错误:无法读取未定义的属性查找
- javascript - 滚动到重新加载页面上的元素反应
- python - Django - 在 Shell 上获取数据但在调试时返回“对象不可迭代”
- javascript - 将类添加到对象 1,等待,在 for 循环中将类添加到对象 2
- javascript - 如果单元格变为负数,则 Google 表格弹出框
- python - 如何禁用 ipython 提示闪烁?
- node.js - Unexpected Token = 在运行以下代码时获取
- sql - 在大表的数据子集中测试 Oracle SQL 查询
- powershell - 使用绕过另一个 Powershell 脚本的参数调用 PowerShell 脚本
- javascript - Django 保存和加载消息