java基础入门----TreeMap练习2
2013-10-03 09:43
405 查看
import java.util.*; /* * 练习2: "asdadwrffcfg"获取该字符串中字母出现的个数 打印结果 a(2)d(1) * * 注意到字母和次数之间有映射关系,可以选择map集合 * * 思路 1.将字符串转换成字符数组,因为要对每个字母进行操作 * 2.定义一个Map集合,因为打印要有顺序,所以用treemap集合 * 3.遍历字符数组 * 将每个字母作为key去查map集合 * 如果返回null,就将字母和1存入到集合中 * 如果返回数字,就把次数++,再存入到集合中,覆盖原有的值 * 4.将Map集合中的数据变成指定字符串形式返回 * * */ class TreeMap练习2 { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { sop(charCount("**..asdwwdwdwdwd")); } public static String charCount(String str) { char[] chs = str.toCharArray(); TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>(); for(int x=0; x<chs.length; x++) { if(!(chs[x]>='a'&&chs[x]<='z' || chs[x]>='A'&&chs[x]<='Z')) continue; Integer value = tm.get(chs[x]); if(value == null) { tm.put(chs[x], 1); } else { tm.put(chs[x],++value); } } //sop(tm); StringBuilder sb = new StringBuilder(); Set<Map.Entry<Character,Integer>> entryset = tm.entrySet(); Iterator<Map.Entry<Character,Integer>> it = entryset.iterator(); while(it.hasNext()) { Map.Entry<Character,Integer> me = it.next(); Character key = me.getKey(); Integer value = me.getValue(); sb.append(key+"("+value+")"); } return sb.toString(); } }
相关文章推荐
- java基础入门----TreeMap练习1
- Java基础-TreeMap练习
- java基础入门----LinkedList练习1
- java入门基础------String练习1
- java入门基础------String练习2
- java入门基础------String练习3
- [Java]基础入门练习
- java基础入门----string练习4
- java基础入门----TreeSet练习2
- Java入门基础之重点练习
- java基础入门----TreeSet练习1
- java基础入门-----ArrayList练习1
- java基础入门----ArrayList练习2
- ~这些年,我们一起学过的Java~01~基础入门
- 1.Java后端开发 基础入门须知!
- 【基础练习】【快速幂】codevs3500 快速幂入门题解
- 【JAVA零基础入门系列】Day13 Java类的继承与多态
- java基础练习 17
- 【JAVA零基础入门系列】Day7 Java输入与输出
- Java 基础一些代码练习笔记(Array数组)