java出现次数最多的数

您所在的位置:网站首页 java找出数组出现次数最多的 java出现次数最多的数

java出现次数最多的数

2024-07-02 01:48| 来源: 网络整理| 查看: 265

展开全部

其实这个问题,涉及到两个过程首先是统计数组中数字出现的次数,应该要有类32313133353236313431303231363533e78988e69d8331333365636666似“数字 - 出现次数”这种结果出现,其实就是Map结构的key和value

然后就是找出出现次数最大的一个,并返回对应的数字即可

针对以上两个过程,推荐采用Java8的流(Stream)来处理,代码比较简单易懂,因此下面的示例代码,请在JDK8的环境下运行int[] arr = {1, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5};

// 过程1 Collectors.groupingBy代表是分类,按照本身Function.identity()进行分类,那相同数字就会放在一起,Collectors.counting是统计相同数字的个数

Map map = IntStream.of(arr).boxed().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

System.out.println("数字出现次数统计(数字=次数):" + map);

// 过程2 max方法是根据比较器(按照map的value进行排序)找出最大值

Optional maxOptional = map.entrySet().stream().max(Comparator.comparing(Map.Entry::getValue)).map(Map.Entry::getKey);

System.out.println("出现次数最多的数字:" + maxOptional.get());

最后结果如下

156dbdefe4ad7ad41d1447f26ecc0700.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3