当前位置: 首页 > news >正文

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

原文:http://www.open-open.com/code/view/1456919325625

 

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;
    }

}

 

相关文章:

  • ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)
  • docker 镜像(四)
  • 笨方法使用Kubernetes实现持续交付
  • You need to use a Theme.AppCompat theme (or descendant) with this activity
  • Android开发学习之事件处理和Button具体解释
  • activity生命周期的onPause和onStop
  • vue 表单提交
  • GitHub GraphQL API已正式可用
  • 《快学Scala》第五章 类
  • 技术人员的发展之路 程序员规划
  • 详谈再论JAVA获取本机IP地址
  • Unity里包裹Debug,且不影响Debug的重定向
  • AtCoder Regular Contest 075 D Widespread
  • 简易相应式布局。
  • 一个简单有趣的微信聊天机器人
  • [ JavaScript ] 数据结构与算法 —— 链表
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • HTML-表单
  • Lsb图片隐写
  • Webpack 4x 之路 ( 四 )
  • 给Prometheus造假数据的方法
  • 将回调地狱按在地上摩擦的Promise
  • 跳前端坑前,先看看这个!!
  • 为视图添加丝滑的水波纹
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • FaaS 的简单实践
  • puppet连载22:define用法
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #WEB前端(HTML属性)
  • #图像处理
  • (分布式缓存)Redis分片集群
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET命令行(CLI)常用命令
  • @Conditional注解详解
  • @Responsebody与@RequestBody
  • @synthesize和@dynamic分别有什么作用?
  • [04] Android逐帧动画(一)
  • [17]JAVAEE-HTTP协议
  • [BT]BUUCTF刷题第8天(3.26)
  • [BUUCTF]-PWN:[极客大挑战 2019]Not Bad解析
  • [Codeforces] probabilities (R1600) Part.1
  • [exgcd] Jzoj P1158 荒岛野人
  • [IOI2007 D1T1]Miners 矿工配餐
  • [Json.net]快速入门
  • [MZ test.16]P1 评测
  • [NLP] LlaMa2模型运行在Mac机器
  • [NOI 2016]优秀的拆分
  • [Notice] 朋友们,blog更新http://jiang-hongfei.spaces.live.com
  • [PHP源码阅读]empty和isset函数
  • [spark] DataFrame 的 checkpoint