前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)

java统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)

原创
作者头像
大师级码师
修改2021-09-22 10:45:57
5410
修改2021-09-22 10:45:57
举报
文章被收录于专栏:大师级码师大师级码师
代码语言:javascript
复制
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
/
  统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)
  
  选中TreeMap的原因是:key不重复且按顺序排序取出
  
  思路:
  1.将字符串abacbacdadbc转换成字符数组
  2.分别取字符,与TreeMap中的key进行比较
    2.1 如果TreeMap中存在对应的字符,则取出并自增,再存入TreeMap
    2.2 如果TreeMap中不存在对应的字符,则直接存入该字符,value=1
 */
public class A3B1C2_TreeMapTest {

public static void main(String[] args) {

    TreeMap<String, Integer> tm=new TreeMap<>();
    String string="abacbacdadbc";
    char[] ch=string.toCharArray();

    for(char r :ch){
        //tm.put(String.valueOf(r), 1);
        //System.out.println(r);    
        if(compareKey(r, tm))
        {
            int i=tm.get(String.valueOf(r));
            i++;
            tm.put(String.valueOf(r), i);
        }else {
            tm.put(String.valueOf(r), 1);
        }
    }
    System.out.println(tm); 
    Set<Map.Entry<String, Integer>> entrySet=tm.entrySet();
    Iterator<Map.Entry<String, Integer>> iterator=entrySet.iterator();
    while(iterator.hasNext()){
        Map.Entry<String, Integer> me=iterator.next();
        String key=me.getKey();
        int value=me.getValue();
        System.out.print(key+"("+value+")");            
    }

}
public static boolean compareKey(char c,TreeMap<String, Integer> treeMap){
    if (treeMap.containsKey(String.valueOf(c))) {
        return true;
    }
    return false;
}


}</pre>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档