kotlin高阶函数开发一个程序,统计文本中字符串出现的个数

简介: 一、高阶函数是Kotlin的核心部分,下面来使用下高阶函数写一个程序注意:我这里的File使用的是:与src同级的文件,你可以根据自己的需要,修改文件地址 代码实例package net.

一、高阶函数是Kotlin的核心部分,下面来使用下高阶函数写一个程序

注意:我这里的File使用的是:与src同级的文件,你可以根据自己的需要,修改文件地址
这里写图片描述

代码实例

package net.println.kotlin.chapter5.example

import jdk.nashorn.internal.objects.NativeArray.map
import java.io.File

/**
 * @author:wangdong
 * @description:统计一个文本文件中字符串出现的个数
 */

fun main(args: Array<String>) {
    //定义一个map,char表示文件中的字符,int表示出现的次数
    val map = HashMap<Char,Int>()
    //1.读取一个文件
    //2.toCharArray把它变成字符数组
    //3.filterNot不要空白字符
    //4.forEach统计
    //方式一:
    /*File("build.gradle").readText().toCharArray().filterNot(Char::isWhitespace).forEach{
        val count = map[it]
        //如果这个字符在map中没有,就将字符添加到map,并计数为1
        if (count == null) map[it] = 1
        //如果这个字符在map中存在,就给map中它的数量加1
        else map[it] = count + 1
    }*/

    //方式二:简化版
    //用it分组
    File("build.gradle").readText().toCharArray().filterNot(Char::isWhitespace)
            .groupBy { it }.map {
                it.key to it.value.size
            }.forEach(::println)

    //方式一:把map输出一下
    //map.forEach(::println)
}

输出的结果:方式一和方式二,结果一样,表现现实不一样

(b, 5)
(u, 9)
(i, 43)
(l, 29)
(d, 9)
(s, 22)
(c, 8)
(r, 22)
(p, 22)
(t, 35)
({, 7)
(e, 37)
(x, 1)
(., 16)
......

好啦,结束,欢迎大家一起努力进步!

目录
相关文章
|
20天前
|
Kotlin
Kotlin教程笔记(21) -高阶函数与函数引用
Kotlin教程笔记(21) -高阶函数与函数引用
29 2
Kotlin教程笔记(21) -高阶函数与函数引用
|
9天前
|
Kotlin
Kotlin - 高阶函数与函数引用
Kotlin - 高阶函数与函数引用
21 3
Kotlin - 高阶函数与函数引用
|
17天前
|
Kotlin
Kotlin教程笔记(21) -高阶函数与函数引用
Kotlin教程笔记(21) -高阶函数与函数引用
22 1
Kotlin教程笔记(21) -高阶函数与函数引用
|
7天前
|
Kotlin 索引
Kotlin教程笔记(22) -常见高阶函数
Kotlin教程笔记(22) -常见高阶函数
|
7天前
|
Kotlin
Kotlin教程笔记(21) -高阶函数与函数引用
Kotlin教程笔记(21) -高阶函数与函数引用
|
14天前
|
开发者 Kotlin 索引
Kotlin教程笔记(22) -常见高阶函数
本系列教程详细讲解了 Kotlin 语法,适合希望深入了解 Kotlin 的开发者。对于需要快速上手 Kotlin 的读者,建议查阅“简洁”系列教程。本文档重点介绍了常见的高阶函数,包括 `forEach`、`map`、`flatMap`、`filter`、`takeWhile`、`reduce` 和 `fold`,并提供了详细的代码示例。
32 5
|
15天前
|
Kotlin
Kotlin教程笔记(21) -高阶函数与函数引用
本系列教程详细讲解Kotlin语法,适合深入学习。若需快速入门,请查阅“简洁”系列教程。本文重点介绍高阶函数与函数引用,包括函数类型、函数引用、成员方法引用及函数类型实例调用等内容。
28 1
|
17天前
|
Kotlin 索引
Kotlin教程笔记(22) -常见高阶函数
Kotlin教程笔记(22) -常见高阶函数
36 1
|
20天前
|
Kotlin 索引
Kotlin教程笔记(22) -常见高阶函数
Kotlin教程笔记(22) -常见高阶函数
30 4
|
24天前
|
JavaScript Java Kotlin
Kotlin开发笔记 - 常量与变量
Kotlin开发笔记 - 常量与变量
29 2