java - 计算 ArrayList 中特定类型的引用次数
问题描述
假设我做了以下。
ArrayList<Object> happylist = new ArrayList<Object>();
happylist.add("cat");
happylist.add(98);
...
等等,添加不同类型的元素。什么样的方法可以帮助我计算在我的 ArrayList 中有多少次对某个类型的引用?
解决方案
使用反射可以很容易地计算列表中不同类型引用的数量。我编写了以下方法:
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 中,可以为您提供所需的内容。
但我不太确定这些特殊问题的有用性。
推荐阅读
- python - 如何在 Shapely 中找到 hausdorff_distance() 的点?
- java - 有没有办法将@Scheduled 与 15s 和 5m 之类的 Duration 字符串一起使用?
- recursion - Y Combinator 是左折叠还是右折叠?
- vba - 防范 vba 中的 SQL 注入(使用 oracle db 和 ADODB)
- nginx - Nginx 位置/覆盖所有其他位置
- python - 模块 'tensorflow' 没有 tensorflow 2.0 版本的属性 'contrib'
- c# - 使用参数 AutoMapper 映射视图模型子项
- c# - 如何在此方法中添加 RestSharp 的异常?
- php - 在 codeignitor 中使用 cookie 登录时记住我复选框
- python - Python中的嵌套输入标签多维数组形式