1. 程式人生 > 程式設計 >JAVA使用TreeMap對字串進行排序

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開始
  • 自動排序

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。