Java 如何计算Hashmaps数组中具有特定键的Hashmaps的出现次数?

Java 如何计算Hashmaps数组中具有特定键的Hashmaps的出现次数?,java,android,arrays,hashmap,Java,Android,Arrays,Hashmap,我需要知道在一个hashmaps数组中有多少hashmaps具有特定的键 我怎样才能在不遍历整个数组的情况下得到这个数字呢?差不多 int occurrences = Collections.frequency(TheHashmapArray, ["specificKey",*]); 从性能的角度来看,如果不使用O(n)复杂度(注意containsKey在HashMap中具有O(1)复杂度),就无法实现这一点 如果问题只是为了避免编写循环的笨拙语法,那么Java 8提供了一种使用流式API的简

我需要知道在一个hashmaps数组中有多少hashmaps具有特定的键

我怎样才能在不遍历整个数组的情况下得到这个数字呢?差不多

int occurrences = Collections.frequency(TheHashmapArray, ["specificKey",*]);

从性能的角度来看,如果不使用O(n)复杂度(注意
containsKey
HashMap
中具有O(1)复杂度),就无法实现这一点

如果问题只是为了避免编写循环的笨拙语法,那么Java 8提供了一种使用流式API的简洁方法:

Map<String, String>[] mapsArray = // get the value
long numMaps =
    Arrays.stream(mapsArray).filter(p -> p.containsKey("some_key")).count();

你为什么不想循环呢?你有多少个hashmaps
containsKey
对于一个典型的HashMap来说,其复杂性几乎可以忽略不计。谢谢,但是我的数组被定义为一个ArrayList,sintax怎么可能呢?@Dov哦,我还以为它是一个实际的数组。
ArrayList
有所不同,它是一个内置的集合,实现了由内部数组支持的
List
接口。无论如何,请看我的编辑-原理是相似的,尽管语法略有不同。
ArrayList<HashMap<String, String>> mapsArray =  // get the value
long numMaps = mapsArray.stream().filter(p -> p.containsKey("some_key")).count();