使用kotlin怎么统计文件中字符的个数

这篇文章将为大家详细讲解有关使用kotlin怎么统计文件中字符的个数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站设计、西吉网络推广、微信小程序定制开发、西吉网络营销、西吉企业策划、西吉品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供西吉建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

首先找到一个要统计的文件。

val file = "F:\\MyBook\\读书备忘录.txt"

然后建立一个HashMap,用来存储统计的结果。

val map = HashMap<Char, Int>()

读取文件内容,转换成Char进行遍历统计

File(file).readText().toCharArray().filterNot(Char::isWhitespace).forEach {
  val count = map[it]
  if (count == null){
   map[it] = 1
  }else{
   map[it] = count +1
  }  
 }

readText()就是读取文件内容了

toCharArray()转成Char数组

filterNot(Char::isWhitespace)忽略空格

遍历的时候,把当前遍历到的map[it]赋给 count ,如果在 map 中没找到这个字符,即 count == null,则为初次记录,map[it] 为1,否则 map[it] 已经记录过了,在原有计数基础上加1。

最后输出统计结果

map.forEach { t, u -> println("字符\"$t\"出现了 $u 次")}

执行效果如下

统计文件中每个字符的个数
字符"言"出现了 1 次
字符"需"出现了 1 次
字符"最"出现了 1 次
字符"要"出现了 1 次
字符"节"出现了 1 次
字符"。"出现了 1 次
字符"窄"出现了 1 次
字符"的"出现了 1 次
字符"★"出现了 5 次
字符"("出现了 1 次
字符"按"出现了 1 次
字符")"出现了 1 次
字符"《"出现了 1 次
字符"》"出现了 1 次
字符","出现了 2 次
字符"完"出现了 1 次
字符"复"出现了 1 次
字符"后"出现了 2 次
字符"题"出现了 1 次
字符":"出现了 1 次
字符"圣"出现了 1 次
字符"个"出现了 1 次
字符"本"出现了 1 次
字符"-"出现了 2 次
字符"."出现了 2 次
字符"0"出现了 4 次
字符"新"出现了 1 次
字符"1"出现了 6 次
字符"2"出现了 3 次
字符"3"出现了 2 次
字符"6"出现了 3 次
字符"边"出现了 1 次
字符"雅"出现了 1 次
字符"G"出现了 1 次
字符"版"出现了 1 次
字符"重"出现了 1 次
字符"经"出现了 1 次
字符"黑"出现了 1 次
字符"体"出现了 1 次
字符"字"出现了 1 次
字符"这"出现了 1 次
字符"距"出现了 1 次
字符"章"出现了 1 次
字符"习"出现了 2 次
字符"d"出现了 1 次
字符"f"出现了 1 次
字符"学"出现了 1 次
字符"书"出现了 1 次
字符"照"出现了 1 次
字符"全"出现了 1 次
字符"语"出现了 1 次
字符"o"出现了 1 次
字符"p"出现了 1 次
字符"数"出现了 1 次
字符"读"出现了 1 次

上面的读取还不够简练,我们可以再简化一点,完全不必声明 HashMap。

val file = "F:\\MyBook\\读书备忘录.txt"
File(file).readText().toCharArray().filterNot(Char::isWhitespace).groupBy{it}.map {
  it.key to it.value.size
 }.forEach{
  println("字符\"${it.first}\"出现了 ${it.second} 次")
 }

附上:HashMap结构图

使用kotlin怎么统计文件中字符的个数

关于使用kotlin怎么统计文件中字符的个数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

标题名称:使用kotlin怎么统计文件中字符的个数
浏览路径:https://www.cdcxhl.com/article6/pogcig.html

成都网站建设公司_创新互联,为您提供电子商务服务器托管网页设计公司外贸网站建设企业建站定制网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站优化排名