【34】kotlin 统计每个字符串出现的个数 groupBy

 统计根目build.gradle中字符出现的次数

package com.yzdzy.kotlin.chapter5.example

import java.io.File

fun main(args: Array<String>) {
    val map = HashMap<Char, Int>()
    val res = File("build.gradle").readText().toCharArray().filterNot(Char::isWhitespace)
    //常用方法
    res.forEach {
            val count = map[it]
            if (count == null) map[it] = 1
            else map[it] = count + 1
        }
//    map.forEach(::println)
//    高阶函数
    res.groupBy { it }.map {
        it.key to it.value.size
    }.forEach(::println)
}

输出

(b, 14)
(u, 23)
(i, 119)
(l, 80)
(d, 17)
(s, 55)
(c, 30)
(r, 67)
(p, 58)
(t, 112)
({, 11)
(e, 86)
(x, 3)
(., 60)
(k, 34)
(o, 112)
(n, 123)
(_, 6)
(v, 17)
(=, 6)
(', 26)
(1, 12)
(3, 4)
(7, 2)
(2, 7)
(m, 37)
(a, 78)
(C, 6)
((, 4)
(), 4)
(}, 11)
(h, 5)
(", 40)
(g, 28)
(j, 18)
(:, 30)
(-, 16)
($, 5)
(y, 15)
(N, 2)
(z, 8)
(K, 5)
(0, 5)
(S, 3)
(A, 2)
(P, 3)
(H, 1)
(O, 4)
(T, 4)
(4, 3)
(8, 4)
(D, 1)
(+, 1)
(\, 8)
(f, 4)
(,, 2)
(q, 2)
(5, 2)

Process finished with exit code 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值