首页 > 解决方案 > 计算 ArrayList 中特定类型的引用次数

问题描述

假设我做了以下。

ArrayList<Object> happylist = new ArrayList<Object>();
happylist.add("cat");
happylist.add(98);
...

等等,添加不同类型的元素。什么样的方法可以帮助我计算在我的 ArrayList 中有多少次对某个类型的引用?

标签: javaarraylist

解决方案


使用反射可以很容易地计算列表中不同类型引用的数量。我编写了以下方法:

public Map<String, Integer> countReferences(List<Object> happyList) {
    Map<String, Integer> referenceCounter = new HashMap<>();

    for (Object object : happyList) {
        String className = object.getClass().getName();
        referenceCounter.put(className, referenceCounter.getOrDefault(className, 0) + 1);
    }
    return referenceCounter;
}

基本上,每个具有不同名称的类都会给出不同的参考。通过计算对每种类型的引用,并将它们存储在 map 中,可以为您提供所需的内容。

但我不太确定这些特殊问题的有用性。


推荐阅读