当前位置: 首页 > 知识库问答 >
问题:

用Java8 stream计算char数组中每个字符的频率

闽哲
2023-03-14

给定

char[] arr = {'a','a','c','d','d','d','d'};

我想使用Java8流像下面这样打印
{a=2,c=1,d=4}

使用以下内容:

Stream.of(arr).collect(Collectors.groupingBy(Function.identity(),Collectors.counting()))

但不起作用。

共有1个答案

尹何平
2023-03-14

方法是Stream.of(char[])返回一个流,其中每个元素都是一个char数组,您需要一个char流,这里有几个方法

char[] arr = {'a', 'a', 'c', 'd', 'd', 'd', 'd'};

Map<Character, Long> result = IntStream.range(0, arr.length).mapToObj(i -> arr[i])
            .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

System.out.println(result); // {a=2, c=1, d=4}
 类似资料:
  • 问题内容: 这是来自pyschools的问题。 我确实做对了,但我猜测会有一个更简单的方法。这是最简单的方法吗? 看起来应该像这样: 问题答案: 在2.7+中: 较早的版本(2.5或更高版本,到目前为止):

  • 我正在处理一个文档(熊猫数据框),其中包含数千行文本消息(dtype=str)及其分类(垃圾邮件或非垃圾邮件): 我想计算每条消息(即每行)的字符数,将它们分成一个单独的列(“长度”),将它们的总数相加,然后除以len(文档),得到文档的平均长度(字符数)。在存在非字符空间的情况下,获取此属性的最有效方法是什么?我是否只对整个数据帧中的每一行条目应用len()? 非常感谢。

  • 我需要编写一个程序,用户输入字符串的数量,程序计算每个字符串中的元音数量并打印元音总数。以下代码无需二维数组即可工作 但是,以下代码不适用于二维数组。它仅从第一个字符串打印元音。 如何从输入的所有字符串打印元音?

  • 本文向大家介绍C++计算每个字符出现的次数,包括了C++计算每个字符出现的次数的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C++计算每个字符出现的次数的实现代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助。

  • 问题内容: 给定一个包含重复项的整数排序数组。查找数组中存在的每个唯一元素的频率。 频率定义为数组中任何元素出现的次数。 例如 : 问题答案: 我们首先讨论divide and conquer解决这个问题的基本策略。 每次调用我们的函数时,我们将数组分成两半,每次将我们的问题分成两半,导致最坏的时间复杂度为O(log(n))。 我们的数组实际上并没有被分成两半,但是我们保留了两个指针 start

  • 问题内容: 我需要编写某种循环,可以计算字符串中每个字母的频率。 例如:“ aasjjikkk”将计为2’a’,1’s’,2’j’,1’i’,3’k’。最终,像这样的id最终以字符为键,而count为值的形式出现在地图中。有什么好主意怎么做? 问题答案: 你可以使用Java Map并将a映射到。然后,你可以遍历字符串中的字符,并检查是否已将它们添加到地图中(如果有),然后可以增加其值。 例如: 最