JAVA中TreeMap集合筛选字母及每一个字符出现的次数
Posted 才华横溢
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中TreeMap集合筛选字母及每一个字符出现的次数相关的知识,希望对你有一定的参考价值。
利用TreeMap对字符串进行排序
题目要求:
给出一个字符串:fjdjskgfhbsjkgjnsrgnaHNGKEURHGASLGNw5y74236720573。
要求:
-
化成字符串a(字符的个数)b()c()...
-
区分大小写
-
只读取字母
直接上代码:
import java.util.Map; import java.util.Set; import java.util.TreeMap; ? /** * @Author caozy * @Date 2020/1/10 18:18 * @Version 1.0 */ public class TestTreeMap { public static void main(String[] args) { //treemap 自动对key排序 格局map的特点,键无序 //键用来存储字母,值用来存储字母出现的次数 Map<Character, Integer> treeMap = new TreeMap<>(); String str = "ngksfdghnsFNSDLIGNRSLGN57349856734856"; Set<Character> set = treeMap.keySet(); for(int i=0;i<str.length();i++){ Character st = str.charAt(i); //根据ASCII值筛选出所有的字母 if((st>=‘a‘ && st<=‘z‘)||st>=‘A‘ && st<=‘Z‘){ //立一个flag标识 boolean flag = true; for(Character ch:set){ if(st==ch){//第一次添加该元素 个数为1 treeMap.put(ch,treeMap.get(ch)+1); flag=false; } } if(flag){//不是第一次添加,个数加1 treeMap.put(str.charAt(i),1); } } } for(Character ch:set){//根据题目要求遍历treemap集合 System.out.print(ch+"("+treeMap.get(ch)+")"); } ? } }
TreeMap集合的特点
-
一个基于红黑树的实现
-
jdk1.2开始
-
自动排序
以上是关于JAVA中TreeMap集合筛选字母及每一个字符出现的次数的主要内容,如果未能解决你的问题,请参考以下文章
java LinkedHashMap,TreeMap,HashMap