java统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)
2016-07-25 11:09
543 查看
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; } }
相关文章推荐
- java基础总结_05
- AES五种加密模式(CBC、ECB、CTR、OCF、CFB)
- 浅谈Java中的equals和==
- Spring是什么
- java集合类深入分析之TreeMap/TreeSet篇
- java 验证码生成
- java 读取excel内容转为JSONArray
- 全面了解Java中Native关键字的作用
- springMVC日期转化注释
- Java编程思想重点笔记(Java开发必看)
- java 调用mysql存储过程
- windows 环境下Eclipse开发MapReduce环境设置
- Spring Aop详尽教程
- 关于java
- SpringMVC Controller配置方式
- MyEclipse10.5-10.6-10.7导出war包报错问题
- Eclipse常见问题处理
- Spring Aop实例(XML形式)
- springMVC如何接收和发送json数据对象
- 最长递增子序列问题