java - 如果值是 ArrayList,是否可以对 HashMap 使用值方法?

标签 java arraylist hashmap

我一直在尝试让一些东西在作业中发挥作用。我有一个 HashMap<Integer, ArrayList<Object>>称为 sharedLocks我想检查是否可以在 HashMap 的任何 ArrayList 中找到某个值。

下面的代码显然行不通,因为 Object[]无法转换为 ArrayList[] ,但这是我想要的一般功能的演示。

ArrayList[] values = (ArrayList[]) sharedLocks.values().toArray();
boolean valueExists = false;
for (int i = 0; i < values.length; i++) {
    if (values[i].contains(accessedObject)) {
        valueExists = true;
    }
}

有没有办法让我检查 HashMap 中的每个 ArrayList 的某个值?在这种情况下,我不确定如何使用 HashMap 的值方法。

如有任何帮助,我们将不胜感激。

最佳答案

HashMap.values()返回一个 Collection。您可以遍历集合,而不必将其转换为数组(或列表)。

for (ArrayList<Object> value : sharedLocks.values()) {
...
}

关于java - 如果值是 ArrayList,是否可以对 HashMap 使用值方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10602880/

相关文章:

hashmap - 使用入口模式时如何改变 HashMap 的其他元素?

java - Drools 在迭代时访问 HashMap 中的对象

java - Java中的keyComparator是什么?

java - 我如何从 list 的类路径条目中获取 jar

java - 从文件中获取数据 - 缓冲读取器

java - 每次我写入 excel 时,它都会用一个空白文件覆盖整个文件 - PUZZLED

java - 如何将 ArrayList 绑定(bind)到 Oracle 中的 PreparedStatement?

java - 拖动 JScrollPane 上的 JLabel 时滚动 JScrollPane

java - 减少数组的大小(通过创建新数组) - arrayList 是如何做到的?

java - 在 2d 列表中,哪条路是行,哪条路是列?