键盘录入一段字符串 ,然后输出该字符串中字符出现的次数(TreeMap)

简介: 键盘录入一段字符串 ,然后输出该字符串中字符出现的次数(TreeMap)

集合


我们用集合来解决,因为我们并不知道会有多少个字符,而且我们要用TreeMap来进行对key的判断来对value的增加


 public boolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回 true。
 因为它集合中有这个元素所以我们就给它的值加1,然后在放入集合中去,如果不是true,
 那 就说明集合中没有这个元素,那我们就把这个键放入,值是1,那么下次要是还有这个键
 我们就只要给它的值加1再放入就行了
import java.util.Scanner;
import java.util.TreeMap;
/**
 * public boolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回 true。
 */
public class Test1 {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String string = scanner.nextLine();
    char[] arr = string.toCharArray();
    TreeMap<String, Integer> tm = new TreeMap<String, Integer>();
    for (int i = 0; i < arr.length; i++) {
      if (!tm.containsKey(arr[i] + "")) {//我们这个是! 所以是不是true进入if语句,是true进入else,
        tm.put(arr[i] + "", 1);//因为我这key是String类型的,所以把它变成字符串
      } else {
        tm.put(arr[i] + "", tm.get(arr[i] + "") + 1);
      }
    }
    //遍历map
    for (String s : tm.keySet()) {
      Integer in = tm.get(s);
      System.out.print(s + "(" + in + ")");
    }
  }
}



目录
相关文章
|
6天前
|
Java
输入一个字符串,找出其中不含有重复字符的最长子串的长度。
这篇文章提供了一个Java解决方案,用于找出输入字符串中不含有重复字符的最长子串的长度,通过使用HashSet来跟踪字符并计算最长不重复字符子串。
输入一个字符串,找出其中不含有重复字符的最长子串的长度。
|
3月前
|
Java
Java集合类ArrayList应用 | 如何在字符串s1中删除有在字符串s2出现的字符?
这是一个关于Java编程面试题的摘要,题目要求从字符串s1中删除s2中存在的字符。解题思路包括使用ArrayList或StringBuilder实现。ArrayList实现时,遍历s1,如果字符不在s2中,则添加到ArrayList;StringBuilder实现有两种方法,一是新建StringBuilder并追加s1,然后遍历删除s2中的字符,二是直接在原地修改s1的StringBuilder对象。代码示例中展示了这些方法。
39 3
|
3月前
|
索引 容器
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
逆序字符串 和 字符串的逆序输出 的区别~
逆序字符串 和 字符串的逆序输出 的区别~
99 0
|
Java 数据安全/隐私保护
Java——JAVAString案例(用户登录、遍历字符串、统计字符次数、拼接字符串、字符串反转)
Java——JAVAString案例(用户登录、遍历字符串、统计字符次数、拼接字符串、字符串反转)!
Java——JAVAString案例(用户登录、遍历字符串、统计字符次数、拼接字符串、字符串反转)
|
Java
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)
105 0
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)
C/C++编程题之删除字符串中出现次数最少的字符
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
|
测试技术
字符串中有多少个不重复的字符并按由前到后的顺序输出一个新的字符串和该字符串长度的整数
字符串中有多少个不重复的字符并按由前到后的顺序输出一个新的字符串和该字符串长度的整数
70 0
输出字符串 , 给定一个字符串 a,请你按照下面的要求输出字符串 b。
给定一个字符串 aa,请你按照下面的要求输出字符串 bb。 给定字符串 aa 的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到 bb 的第一个字符; 给定字符串 aa 的第二个字符的 ASCII 值加第三个字符的 ASCII 值,得到 bb 的第二个字符; …
177 0
使用Map计算字符串中每一个字符出现的次数
计算字符串中每一个字符出现的次数 问题分析流程 代码实现 import java.util.HashMap; import java.util.Scanner; public class Demo03MapTest { public static void main(String[] args) {
使用Map计算字符串中每一个字符出现的次数