问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么统计字符串中a、b、c三个字符的个数

发布网友 发布时间:2022-05-09 05:13

我来回答

1个回答

热心网友 时间:2024-01-28 14:05

推荐用java8的stream来进行有关集合数据统计问题

由题意得到的

输入:一个字符串str

输出:统计这个字符串按str中a,b,c出现的次数

但是这里并没有说区分大小写,所以代码里做了一下控制

参考代码如下(请用java8环境运行):

public static void main(String[] args) {
    String s = "asdf12fdfdsaAcAaascdbashcdas";
    Boolean isIgnoreCase = false;
    Map<String, Long> map = countNum(s, isIgnoreCase);
    System.out.println(map);
}

public static Map<String, Long> countNum(String str, Boolean isIgnoreCase) {
    Map<String, Long> map = Pattern.compile("").splitAsStream(str)
            .map(item -> isIgnoreCase ? item.toLowerCase() : item)
            .collect(Collectors.groupingBy(item -> item, Collectors.counting()));
    return map;
}

解释一下:

s字符串就是要解析的字符串

isIgnoreCase 就是是否要忽略大小写,false的话表示不忽略,那A和a就算分别统计算一次,true的话,表示要忽略,那A和a就应该算两次


Pattern.compile("").splitAsStream(str): 把字符串str按照空字符串分割,其实就是把字符串中每个字符取出来组合成一个stream

map(item -> isIgnoreCase ? item.toLowerCase() : item):把其中每个字符映射,映射规则是要进行判断若isIgnoreCase为true,即忽略大小写,那字符都转化为小写,若不忽略,则用原来的字符即可

collect(Collectors.groupingBy(item -> item, Collectors.counting())):转化后,按照各自出现的字符进行统计,统计其中的次数


运行后最后把map打印一下就非常清楚了

isIgnoreCase 为false,不区分大小写


isIgnoreCase 为true,区分大小写,此时统计结果中无A的统计


最后直接再map中get("a")或者get("b"),把统计结果取出来即可

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...二极管 电动车的电瓶因为出于成本考虑,将新旧电瓶混用,因为旧电池内 ... 两个不同容量的蓄电池并联后怎么防止大容量电池向小容量电池放电 工伤后小孩有抚养费吗,会给多少钱 南京工伤死亡子女抚养费标准 邵阳车管所疫情上班吗 2023年验车推迟吗,2023年检车线什么时候上班 全面复工包括黔江车管所不 江宁车管所什么时候复工 疫情期间交警几点下班? 3d和值多少算中奖? 输入一个字符串,统计其中有多少个不同的字符 怎样统计字符串中各字母的个数? 电脑怎么会没声音? C语言字符统计 如何统计字符串中某个字符的次数 字符统计 C语言 字符统计程序。 字符统计 字符统计问题(while) 字符统计【C语言】 名言名言名言名言名言名言名言名言名言 csgo外挂怎么装普通人 军官考研的流程 现役军人考研政策 国防生和现役军人怎样报考研究生 现役军官考研问题。 部队军官可以考地方研究生吗? 在职军人考研需要什么条件 在职军官考研政策理工科好考吗 现役军官,想考研,是考清华还是国防大学 如何统计一个字符串中每个字符出现的次数 字符串统计 怎么统计一个字符串中某个字符的个数 统计字符串中各字母个数 统计字符串 工作用哪个邮箱好呢,哪个品牌的邮箱比较适合办公用? 有适合工作用的邮箱推荐吗? 描写美食的作文(九层皮)800字 以美食为话题的800字作文 关于美食的作文800字烤猪蹄 美食屋作文800字 早餐店的卤香肠一般用什么牌子的香肠最好 哪种香肠好吃 麦德龙哪种香肠好吃 动漫设计与制作专业 是学3DMAX影视动画制作吗? maya,3dmax的建筑影视模型,用来做houdini作业破碎 3DMAX如何设计一个模型细节? 这个模型用3Dmax是怎么做出来的啊? 如何将风筝放的高远? 育儿嫂给主家做饭吗