JAVA使用TreeMap對字符串進(jìn)行排序
這篇文章主要介紹了JAVA使用TreeMap對字符串進(jìn)行排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
題目要求:
給出一個字符串:fjdjskgfhbsjkgjnsrgnaHNGKEURHGASLGNw5y74236720573。
要求:
化成字符串a(chǎn)(字符的個數(shù))b()c()...
區(qū)分大小寫
只讀取字母
直接上代碼:
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的特點,鍵無序 //鍵用來存儲字母,值用來存儲字母出現(xiàn)的次數(shù) 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); //根據(jù)ASCII值篩選出所有的字母 if((st>='a' && st<='z')||st>='A' && st<='Z'){ //立一個flag標(biāo)識 boolean flag = true; for(Character ch:set){ if(st==ch){//第一次添加該元素 個數(shù)為1 treeMap.put(ch,treeMap.get(ch)+1); flag=false; } } if(flag){//不是第一次添加,個數(shù)加1 treeMap.put(str.charAt(i),1); } } } for(Character ch:set){//根據(jù)題目要求遍歷treemap集合 System.out.print(ch+"("+treeMap.get(ch)+")"); } } }
TreeMap集合的特點
- 一個基于紅黑樹的實現(xiàn)
- jdk1.2開始
- 自動排序
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java編程實現(xiàn)快速排序及優(yōu)化代碼詳解
這篇文章主要介紹了Java編程實現(xiàn)快速排序及優(yōu)化代碼詳解,具有一定借鑒價值,需要的朋友可以了解下。2017-12-12SpringBoot使用WebSocket實現(xiàn)向前端推送消息功能
WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議,它實現(xiàn)了瀏覽器與服務(wù)器全雙工(full-duplex)通信——允許服務(wù)器主動發(fā)送信息給客戶端,本文給大家介紹了SpringBoot使用WebSocket實現(xiàn)向前端推送消息功能,需要的朋友可以參考下2024-05-05Java語言實現(xiàn)簡單FTP軟件 FTP遠(yuǎn)程文件管理模塊實現(xiàn)(10)
這篇文章主要為大家詳細(xì)介紹了Java語言實現(xiàn)簡單FTP軟件,F(xiàn)TP遠(yuǎn)程文件管理模塊的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04SpringAMQP消息隊列(SpringBoot集成RabbitMQ方式)
這篇文章主要介紹了SpringAMQP消息隊列(SpringBoot集成RabbitMQ方式),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04java線程池:獲取運行線程數(shù)并控制線程啟動速度的方法
下面小編就為大家?guī)硪黄猨ava線程池:獲取運行線程數(shù)并控制線程啟動速度的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05