Java:计算 HashMap<String、ArrayList<String>>中的项目总数。

2022-09-01 15:13:24

我有这个,有没有办法计算地图中所有列表中的项目总数,而无需遍历所有列表?HashMap<String, ArrayList<Item>>

还是应该遍历 Map 和所有列表?


答案 1

从Java 8开始,你用一行代码就完成了:

Integer sum = map.values().stream().mapToInt(List::size).sum();

答案 2

使用为 HashMap 定义的 size() 方法。

HashMap<String, ArrayList<Item>> hMap = new LinkedHashMap<String, ArrayList<Item>>();
int hSize;
/*
    put/remove operations

*/

hSize = hMap.size(); // Gives the total no. of elements of HashMap