JAVA使用TreeMap对字符串进行排序

 更新时间:2020年02月11日 13:13:11   转载 作者:才华横溢  
这篇文章主要介绍了JAVA使用TreeMap对字符串进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了JAVA使用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开始
  • 自动排序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

最新评论