- import java.util.TreeMap;
- /**
- * 第一次用a字母作为键去找集合,那么集合没有a这个键,所以也没有对应的次数。 返回null, 如果为null,就将a字母和1存入集合。
- * 如果指定的键已经存在,说明有对应的次数,就将对应的次数取出,并自增后再重新存入集合。
- *
- * @author Administrator 思路: 1,将字符串转换成字符数组,因为要对每一个字母进行操作。
- * 2,定义一个map集合,因为打印结果的字母有顺序,所以使用treemap集合。
- * 3,遍历字符数组,将每一个字母作为字母作为键去查map集合,如果返回null,就将该字母和1存入map集合中,
- * 如果返回不是null,说明,该字母在map集合中已经存在,并有对应的次数,并获取该次数,并进行自增。
- * 然后将该字母和子增后的次数存入map集合中,覆盖原来键所对应的值 4,将map集合中的数据变成指定的字符串形式返回。
- */
- public class Test6 {
- public static void main(String[] args) {
- String str = "abdfdaf";
- charCount(str);
- }
- 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++) {
- Integer value = tm.get(chs[x]);
- if (value == null) {
- tm.put(chs[x], 1);
- } else {
- value = value + 1;
- tm.put(chs[x], value);
- }
- }
- System.out.println(tm.toString());
- return null;
- }
- }
复制代码 为什么什么都打印不出来呢? |
|