Download Set_advanced_project/Map_module/src/TreeMap_package2/TreeMap_demo3.java from zxy0307/Java: direct link, hf CLI and curl.
- Browser
- Download file 2.01 kB
-
https://huggingface.co/zxy0307/Java/resolve/main/Set_advanced_project/Map_module/src/TreeMap_package2/TreeMap_demo3.java
- Command line
-
hf download hf://zxy0307/Java/Set_advanced_project/Map_module/src/TreeMap_package2/TreeMap_demo3.java
-
curl -L -o TreeMap_demo3.java https://huggingface.co/zxy0307/Java/resolve/main/Set_advanced_project/Map_module/src/TreeMap_package2/TreeMap_demo3.java
2.01 kB
| package TreeMap_package2; | |
| import java.util.StringJoiner; | |
| import java.util.TreeMap; | |
| import java.util.function.BiConsumer; | |
| public class TreeMap_demo3 { | |
| public static void main(String[] args) { | |
| /* | |
| 需求:字符串"abcbbbaaacccbabcabc" | |
| 请统计字符串中每个字符出现的次数,并按照以下格式输出 | |
| 输出结果: | |
| a(6)b(7)c(6) | |
| 新的统计思想:利用map集合进行统计 | |
| 如果题目中没有要求对结果进行排序,默认使用HashMap | |
| 如果题目中要求对结果进行排序,请使用TreeMap | |
| 键:表示要统计的内容 | |
| 值:表示次数 | |
| */ | |
| //1、定义字符串 | |
| String s = "abcbbbaaacccbabcabc"; | |
| //2、创建集合 | |
| TreeMap<Character, Integer> tm = new TreeMap<>(); | |
| //3、遍历字符串得到里面的每一个字符 | |
| for (int i = 0; i < s.length(); i++) { | |
| char c = s.charAt(i); | |
| //拿着c到集合中判断是否存在 | |
| //存在,表示当前字符又出现了一次 | |
| //不存在,表示当前字符是第一次出现 | |
| if (tm.containsKey(c)) { | |
| //存在 | |
| //先把已经出现的次数拿出来 | |
| int count = tm.get(c); | |
| //当前字符又出现了一次 | |
| count++; | |
| //把自增之后的结果再添加到集合当中 | |
| tm.put(c, count); | |
| } else { | |
| //不存在 | |
| tm.put(c, 1); | |
| } | |
| } | |
| //4、遍历集合,并按照指定的格式进行拼接 | |
| StringBuilder sb = new StringBuilder(); | |
| tm.forEach(new BiConsumer<Character, Integer>() { | |
| public void accept(Character key, Integer value) { | |
| sb.append(key).append("(").append(value).append(")"); | |
| } | |
| }); | |
| System.out.println(sb); | |
| } | |
| } | |