国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

利用kotlin實現(xiàn)統(tǒng)計文件字符個數(shù)的方法示例

2024-07-21 23:03:41
字體:
供稿:網(wǎng)友

前言

對于開發(fā)的大家來說,統(tǒng)計文件字符個數(shù)是個常見的程序。今天利用剛學習的android/252240.html">kotlin來實現(xiàn)一下。下面話不多說了,來一起看看詳細的介紹吧。

方法如下:

首先找到一個要統(tǒng)計的文件。

val file = "F://MyBook//讀書備忘錄.txt"

然后建立一個HashMap,用來存儲統(tǒng)計的結(jié)果。

val map = HashMap<Char, Int>()

讀取文件內(nèi)容,轉(zhuǎn)換成Char進行遍歷統(tǒng)計

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

readText()就是讀取文件內(nèi)容了

toCharArray()轉(zhuǎn)成Char數(shù)組

filterNot(Char::isWhitespace)忽略空格

遍歷的時候,把當前遍歷到的map[it]賦給 count ,如果在 map 中沒找到這個字符,即 count == null,則為初次記錄,map[it] 為1,否則 map[it] 已經(jīng)記錄過了,在原有計數(shù)基礎(chǔ)上加1。

最后輸出統(tǒng)計結(jié)果

map.forEach { t, u -> println("字符/"$t/"出現(xiàn)了 $u 次")}

執(zhí)行效果如下

統(tǒng)計文件中每個字符的個數(shù)字符"言"出現(xiàn)了 1 次字符"需"出現(xiàn)了 1 次字符"最"出現(xiàn)了 1 次字符"要"出現(xiàn)了 1 次字符"節(jié)"出現(xiàn)了 1 次字符"。"出現(xiàn)了 1 次字符"窄"出現(xiàn)了 1 次字符"的"出現(xiàn)了 1 次字符"★"出現(xiàn)了 5 次字符"("出現(xiàn)了 1 次字符"按"出現(xiàn)了 1 次字符")"出現(xiàn)了 1 次字符"《"出現(xiàn)了 1 次字符"》"出現(xiàn)了 1 次字符","出現(xiàn)了 2 次字符"完"出現(xiàn)了 1 次字符"復(fù)"出現(xiàn)了 1 次字符"后"出現(xiàn)了 2 次字符"題"出現(xiàn)了 1 次字符":"出現(xiàn)了 1 次字符"圣"出現(xiàn)了 1 次字符"個"出現(xiàn)了 1 次字符"本"出現(xiàn)了 1 次字符"-"出現(xiàn)了 2 次字符"."出現(xiàn)了 2 次字符"0"出現(xiàn)了 4 次字符"新"出現(xiàn)了 1 次字符"1"出現(xiàn)了 6 次字符"2"出現(xiàn)了 3 次字符"3"出現(xiàn)了 2 次字符"6"出現(xiàn)了 3 次字符"邊"出現(xiàn)了 1 次字符"雅"出現(xiàn)了 1 次字符"G"出現(xiàn)了 1 次字符"版"出現(xiàn)了 1 次字符"重"出現(xiàn)了 1 次字符"經(jīng)"出現(xiàn)了 1 次字符"黑"出現(xiàn)了 1 次字符"體"出現(xiàn)了 1 次字符"字"出現(xiàn)了 1 次字符"這"出現(xiàn)了 1 次字符"距"出現(xiàn)了 1 次字符"章"出現(xiàn)了 1 次字符"習"出現(xiàn)了 2 次字符"d"出現(xiàn)了 1 次字符"f"出現(xiàn)了 1 次字符"學"出現(xiàn)了 1 次字符"書"出現(xiàn)了 1 次字符"照"出現(xiàn)了 1 次字符"全"出現(xiàn)了 1 次字符"語"出現(xiàn)了 1 次字符"o"出現(xiàn)了 1 次字符"p"出現(xiàn)了 1 次字符"數(shù)"出現(xiàn)了 1 次字符"讀"出現(xiàn)了 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}/"出現(xiàn)了 ${it.second} 次") }

一樣可以達到效果。這才是函數(shù)式編程。

附上:HashMap結(jié)構(gòu)圖

統(tǒng)計文件字符個數(shù),kotlin,android,教程

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到kotlin教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 田林县| 长春市| 聂拉木县| 昌宁县| 吉木乃县| 陇西县| 濉溪县| 夹江县| 馆陶县| 南城县| 赣榆县| 含山县| 东源县| 阳新县| 彰武县| 九龙坡区| 德兴市| 察雅县| 资兴市| 金湖县| 襄樊市| 射阳县| 始兴县| 乐都县| 河西区| 望江县| 安阳县| 云浮市| 临泉县| 黄梅县| 舟山市| 舒城县| 军事| 海口市| 常德市| 赤城县| 南京市| 铁力市| 永嘉县| 泗阳县| 垦利县|