黑马程序员 用Map记录一个字符串里每个字母出现的次数
2013-06-19 21:28
363 查看
---------------------- android培训、java培训、期待与您交流! --------------------
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
import java.util.*; /* * 一个字符串cvfghjknbvcvbghn * 记录每个字母出现的次数 * a(1)b(2)... * 字母和他的次数就可以组成一对,存在map中 * * 思路: * 字符串转字符数组 * 循环查每一个字符 * 要按字母顺序打印,所以treemap,再弄出keyset * 字符到keyset找,null就给value赋1,有value就把他加1 * */ class NumDemo { public static void main(String[] a) { String str="vcsgbco---ahndsbvuabnv"; getTimes(str); } public static void getTimes(String str) { char[] s=str.toCharArray();//转成字符数组 TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();//定义Map容器,键是字符,值是每个字符出现的次数 for(int i=0;i<s.length;i++)//逐个查字符 { if (!(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'))//只查找字母 continue;//非字母就去下一个循环,找下一个字符 Integer v = tm.get(s[i]);//在一个查一个字符时定义好v变量装他的次数 if (v==null)//如果这个字符没出现过 tm.put(s[i], 1);//就说明现在是第一次出现,v为1 else//如果这个字符出现过 { v=v+1;//v自增 tm.put(s[i],v);//把v存到Map里这个字符键对应的地方 } } show(tm);//调用show方法打印这个TreeMap里的内容 } public static <K,V> void show(TreeMap<K,V> tm)//泛型方式定义参数 { Set<Map.Entry<K,V>> mes=tm.entrySet();//取出映射关系 Iterator<Map.Entry<K,V>> it=mes.iterator();//把映射关系用迭代器表示 while(it.hasNext()) { Map.Entry<K,V> rela=it.next();//迭代器逐个拿到这些映射关系 K key=rela.getKey();//取出这个映射关系里的键 V value= rela.getValue();//取出这个映射关系里的值 sop(key+"("+value+")");//打印 } } public static void sop(Object b) { System.out.println(b); } }
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 从文件读取包含数字和字母字符串,统计每个字符出现的次数,将次数输出到另外一个文件
- 一道迅雷面试题:求出一个字符串中每个字母出现的次数
- Java 统计一个字符串中每个单词,或者字母出现的次数
- Java 统计一个字符串中每个单词,或者字母出现的次数
- 给出一个字母字符串,统计字符串中每个字母出现的次数
- 用java编写一个函数,统计一个字符串中每个字母出现的次数
- 一道迅雷面试题:求出一个字符串中每个字母出现的次数
- 用java编写一个函数,统计一个字符串中每个字母出现的次数
- 统计一个字符串中每个字母出现的次数
- C#控制台基础 得到一个字符串中每个字母出现的次数
- 用c语言编程 统计输入的一个字符串中每个字母出现的次数
- 面试编程题1:给定一个字符串,统计出每个字母出现次数
- 黑马程序员——求字符串中每个字母出现的次数
- 一道迅雷面试题:求出一个字符串中每个字母出现的次数
- 输入一个字符串,统计其出现频率最高的字母以及对应的次数
- 计算出一字符串(字符串中每个单词之间有一个或多个空格)中每个单词的 出现的次数
- 【练习题】读取一个字符串,计算每个字母出现的个数
- 黑马程序员 【】java学习之路——计算字符串中字母出现的次数
- 线性时间内统计一个字符串中每个字符出现的次数
- 一个字符串中可能包含a~z中的多个字符,如有重复,如String data="aavzcadfdsfsdhshgWasdfasdf",求出现次数最多的那个字母及次数,如有多个重复的则都求出。