package day18.TreeMap; import java.util.Scanner; import java.util.Set; import java.util.TreeMap; /** * java基础:java集合框架 * Author:知而无涯 * Description:TreeMap集合获取字符串中每一个字母出现的次数 * Date: 2018-03-15 12:08 */ public class TreeMapDemo2 { public static void main(String[] args) { while (true) { //1:使用键盘录入输入一个字符串 Scanner sc = new Scanner(System.in); //请录入一个字符串 System.out.println("请输入字符串"); String line = sc.nextLine(); //2:定义一个TreeMap集合,字符和基本数据类型的包装类 TreeMap<Character, Integer> treeMap = new TreeMap<Character, Integer>(); //3:将字符串转换为字符数组 char[] chars = line.toCharArray(); //4:遍历字符数组,得到每一个字符 for (char aChar : chars) { //5:拿刚才得到的字符串作为键到集合中去找值 Integer value = treeMap.get(aChar); //6:进行判断,如果该返回值不存在,第一次就将1作为值来存在 if (value == null) { treeMap.put(aChar, 1); } else { //如果存在,就将值加上1 value++; treeMap.put(aChar, value); } } //7:创建一个字符串缓存区,然后将集合中的数据存储到字符串缓存区中 //StringBuilder是线程安全的 StringBuilder sb = new StringBuilder();//因为打印的时候最终要拼接成字符串的 //8:获取集合所有的键 Set<Character> set = treeMap.keySet(); for (Character key : set) { //9:通过键获取所有的值" Integer values = treeMap.get(key); //10:进行拼接 sb.append(key + ":" + values + "\t"); } //将字符串缓冲区转换为字符串输出 String result = sb.toString(); System.out.println(result); // } } }
字符串统计相同字母的次数
最新推荐文章于 2022-11-08 09:07:52 发布