java - 计算数组java中的出现次数

标签 java arrays count indexoutofboundsexception

我想计算每个数字在 Java 数组中的出现次数(例如 1=?, 2=?, 3=?)。我的数组如何存储超过 10 个值?

int [] arryNum = new int[]{4,4,4,3,4,5,4,3,4,4,4,5,4,5,5,5,4,3,2,15,4,3,4,6,4,3,4,5,4,2,4,5,4,3,2,5,4,3,5,4,0,4,3,4,5,4,3,0,4,5,4,3,5,4,2,3,2,3,4};
     int[] counter = new int[] { 0, 0, 0, 0, 0,0 };
    for (int i = 0; i < arryNum.length; i++) {
        counter[arryNum[i] ]++;
    }

    for (int i = 0; i < counter.length; i++){
        System.out.println((i + 1) + ":" + counter[i]);
    }

最佳答案

您可以使用 Java 8 流以更简洁的方式编写它:

Map<Integer,Integer> map = new HashMap<Integer,Integer>();
Arrays.stream(arryNum).forEach(x -> map.put(x , map.computeIfAbsent(x, s -> 0) + 1));
System.out.println(map);

关于java - 计算数组java中的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40533163/

相关文章:

java - 使用 primefaces p :media plugin 在 liferay 上显示 pdf

javascript - 使用 JavaScript 从数组中删除对象

javascript - 使用 JavaScript 在复选框选中和取消选中时从全局数组中删除特定元素

php - 选择计数 php/sql

子查询中的 MySQL COUNT 行

java - 解码 xml 时出现 UnmarshalException

带有基于计数的子列表的 Java 排序集合

java - 使用java或android将整数转换为无符号字节数组

MySQL - 按 count() 和 GROUP BY 排名

java - 如何从Android Firebase实时数据库中的一个节点检索所有数据?