利用map统计每个字符出现的次数

问题: 利用map统计每个字符出现的次数

代码如下:

package javaDemo_hw;

import java.util.HashMap;
import java.util.Map;
/**
 * @author Administrator
 * 统计每个字符出现的出现的次数
 */
public class Word_count {

	public static void main(String[] args) {
		String str = "hello world";
		//存放结果
		Map<Character, Integer> map = new HashMap<>();
		int count = 1;
		 
		//迭代字符数组
		for(char c : str.toCharArray()) {
			if(map.containsKey(c)) {
				count = map.get(c) + 1;
			}else {
				count = 1;
			}
			map.put(c,  count);
		}
		System.out.println(map);

	}

}

运行结果:
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个示例代码,假设我们有一个文本文件"input.txt",里面包含中文文本。 ```scala import org.apache.spark.{SparkConf, SparkContext} object CharacterCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("CharacterCount").setMaster("local[*]") val sc = new SparkContext(conf) // 读入文本文件,每行转化为一个字符串 val lines = sc.textFile("input.txt") // 将每个字符串拆分为单个字符 val characters = lines.flatMap(line => line.split("")) // 过滤掉非中文字符 val chineseCharacters = characters.filter(isChineseCharacter) // 将每个中文字符映射为一个键值对,值为1 val pairs = chineseCharacters.map(c => (c, 1)) // 按照键(中文字符)分组,将对应的值相加 val counts = pairs.reduceByKey(_ + _) // 输出结果 counts.foreach(println) sc.stop() } // 判断一个字符是否为中文字符 def isChineseCharacter(c: String): Boolean = { val p = "^[\\u4E00-\\u9FA5]+$".r p.findFirstMatchIn(c).isDefined } } ``` 首先,我们读入文本文件并将每行转化为一个字符串。然后,我们将每个字符串拆分为单个字符,并过滤掉非中文字符。接下来,我们将每个中文字符映射为一个键值对,值为1。最后,我们按照键(中文字符)分组,将对应的值相加,得到每个中文字符出现次数。最后,我们输出结果。 在这个示例中,我们使用了Scala编程语言和Spark RDD API来进行中文字符计数。我们首先使用flatMap()函数将每个字符串拆分为单个字符,然后使用filter()函数过滤掉非中文字符。接着,我们使用map()函数将每个中文字符映射为一个键值对。最后,我们使用reduceByKey()函数将相同键的值相加,得到每个中文字符出现次数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值