如何用集合统计字符串中每个字符出现的次数?
程序员文章站
2022-04-18 09:25:58
...
使用TreeMap集合统计字符串中字符出现的次数
例:
“aababcabcdabcde”
要求结果:
a(5)b(4)c(3)d(2)e(1)
为了广泛性,先做一个键盘录入
import java.util.Scanner;
import java.util.TreeMap;
import java.util.Set;
class StringDemo{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String line = sc.nextLine();
}
}
定义一个集合
TreeMap<Character,Integer> tm = new TreeMap<>();
为了把字符串存储进集合中,我把字符串转换成字符数组
Character chs = line.toCharArray();
遍历数组,同时把元素添加到集合中,这里我使用俩种方法
方法一:
使用V put(K,V)方法,此方法在添加元素时返回被替换的值,若键是第一次被添加,则返回null
for(char c : chs){
Integer i = tm.put(c,1);
if(i != null){
i++;
tm.put(c,i);
}
}
方法二:
使用 V get(Key k)方法,此方法功能为根据键返回对应的值,若集合中没有该键,则返回null
for(char key : chs){
Integer i = tm.get(key);
if(i == null){
tm.put(key,1);
}else{
i++;
tm.put(key,i);
}
}
定义字符串缓冲区,为了节省资源使用StringBuilder
StringBuilder sb = new StringBuilder();
遍历集合,得到键和值,按照要求进行拼接
Set<Character> set = tm.keySet();
for(Character key : set){
Integer value = tm.get(key);
sb.append(key).append("(").append(value).append(")");
}
String result = sb.toString();
System.out.println(result);
推荐阅读
-
Java统计字符串中字符出现次数的方法示例
-
Java编程实现统计一个字符串中各个字符出现次数的方法
-
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
-
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
-
核心API的使用(给定一个字符串,统计每个字符出现的次数)
-
面试题-给定一段文本,找到包含字段串a,同时剔除包含字符串b的行,然后使用“:”分割取所有列,最后对结果排序,统计每个值出现的次数
-
统计一个字符串中相应字符出现的次数
-
统计一个字符串中相应字符出现的次数
-
使用grep -o统计文件中某个字符串出现的次数
-
取出一个字符串中字母出现的次数。如:字符串:”abcdekka27qoq”,输出格式为:a(2)b(1)k(2)…