我一直在尝试让一些东西在作业中发挥作用。我有一个 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/