利用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开始
- 自动排序
欢迎补充。。。
原文地址:https://www.cnblogs.com/caozyblogs/p/12177723.html
时间: 2024-10-08 09:37:50