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/

相关文章:

使用集合删除方法时不会出现 Java 并发修改异常

java - eclipse ;封装方法 block

java - EjbContext 有什么用处以及它如何在 Ejb 应用程序中发挥作用?

java - Java桌面应用程序的自动启动?

java - 如何将数组列表转换成字符串?

java - 为什么 resize 是这样实现的?

java - 移动到上一个屏幕

java - 需要从 List<String[]> 转换为数组的帮助

java - 如何将 hashmap 值传递给函数

java - 是什么让 Hashmap.putIfAbsent 比 containsKey 后接 put 更快?