1. 统计单词出现次数
实现思路
- 使用
split(" ")
方法将字符串按空格分割成单词数组。
- 遍历单词数组,使用
HashMap
来统计每个单词出现的次数。HashMap
的put
方法会在键已存在时更新值,不存在时插入新键值对,利用这一特性可以高效统计。
代码实现
fun countWords(str: String): Map<String, Int> {
val wordMap = mutableMapOf<String, Int>()
str.split(" ").forEach { word ->
wordMap[word] = wordMap.getOrDefault(word, 0) + 1
}
return wordMap
}
2. 字符串字符替换扩展函数
实现思路
- 使用
StringBuilder
类来高效处理字符串修改。String
类本身是不可变的,每次修改操作都会创建新的字符串实例,而StringBuilder
可以在原有的基础上进行修改,减少内存开销。
- 遍历字符串,逐个字符判断,如果是需要替换的字符,则使用
StringBuilder
的append
方法添加替换后的字符,否则添加原字符。
代码实现
fun String.replaceChar(oldChar: Char, newChar: Char): String {
val result = StringBuilder()
for (char in this) {
if (char == oldChar) {
result.append(newChar)
} else {
result.append(char)
}
}
return result.toString()
}