/**
* 统计重复出现的次数
* @param a 数据列表
* @return
*/
public static Long computeArraycount(ArrayList<Long> a) {
HashMap hmap = new HashMap();
// 统计每个数字出现的次数
for (int i = 0; i < a.size(); i++) {
if (hmap.get(a.get(i)) == null) {
hmap.put(a.get(i), 1);
} else {
int num = (Integer) hmap.get(a.get(i));
hmap.put(a.get(i), ++num);
}
}
// 分别存放出现次数最多的次数,及对应的值
Long maxNum = (long) Integer.MIN_VALUE, maxCount = (long) Integer.MIN_VALUE;
Long num;
Set kset = hmap.keySet();
for (Object o : kset) {
num = (Long) o;
if ((Integer) hmap.get(num) > maxCount) {
maxNum = num;
maxCount = Long.valueOf(hmap.get(num).toString());
} else if (Long.valueOf(hmap.get(num).toString()).equals(maxCount)) {
if (num > maxNum) {
maxNum = num;
}
}
}
return maxNum;
}
统计列表中重复出现最多数值
于 2021-08-24 10:55:28 首次发布