java中TreeMap的用法-统计字符串中每个字符出现的次数
2017-04-18 20:59
816 查看
package itcast05; import java.util.Scanner; import java.util.Set; import java.util.TreeMap; /** * 需求: "aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1) * 分析: * A:定义一个字符串(可以改为键盘录入) * B:定义一个TreeMap集合 * 键:Character * 值:Integer * C:把字符串转换为字符数组 * D:遍历字符数组,得到每一个字符 * E:那刚才得到的字符作为键到集合中去找值,看返回值 * 是null: 说明该键不存在,就把该字符作为键,1作为值存储 * 不是null:说明该键存在,就把值加1,然后重写存储该键和值 * F:定义字符串缓冲区变量 * G:遍历集合,得到键和值,精细按照要求拼接 * H:把字符串缓冲区转换为字符串输出 * * @author lgt * */ public class TreeMapDemo { public static void main(String[] args) { //键盘录入一个字符串 Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:"); String line = sc.nextLine(); //定义一个TreeMap集合 TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>(); //把字符串转换为字符数组 char[] chs = line.toCharArray(); //遍历字符数组,得到每一个字符 for(char ch : chs){ //拿刚才得到的字符作为键到集合中去找值,看返回值 Integer i = tm.get(ch); //是null if(i == null){ tm.put(ch, 1); } else{ //不是null i++; tm.put(ch, i); } } //定义字符串缓冲区变量 StringBuilder sb = new StringBuilder(); //遍历集合,得到键和值,进行按照要求拼接 Set<Character> set = tm.keySet(); for(Character key : set){ Integer value = tm.get(key); sb.append(key).append("(").append(value).append(")"); } //把字符串缓冲区转换为字符串输出 String result = sb.toString(); System.out.println("result:" + result); } }
相关文章推荐
- java中怎么统计一个字符串中每个字符的出现次数
- java统计字符串中每个字符出现的次数并查询出现次数最多的字符和次数
- Java基础知识强化之集合框架笔记61:Map集合之统计字符串中每个字符出现的次数的案例
- Java_基础—统计字符串中每个字符出现的次数
- Java中统计字符串中每个字符出现的次数
- Java - 统计字符串中每个字符出现次数
- Java小程序:字符串中,统计每个字符出现的次数
- java基础练习-统计字符串中每个字符出现的次数
- java统计字符串中每个字符出现的次数
- java统计字符串中每个字符出现的次数
- 线性时间内统计一个字符串中每个字符出现的次数
- 集合框架-统计字符串中每个字符出现的次数案例图解
- java统计字符串中各个字符的出现次数
- 统计字符串中每个字符出现的次数
- 统计字符串中每个字符出现的次数
- 统计一个字符串中每个字符出现的次数
- IO流(15)--与TreeMap统计文本中每个字符出现的次数
- Java笔记13:统计文件中每个字符出现的次数
- 集合框架_统计字符串中每个字符出现的次数案例图解
- JavaScript统计字符串中每个字符出现次数完整实例