更新時間:2020-05-22 16:01:52 來源:動力節點 瀏覽2194次
代碼實現:
package?day18_TreeMap;
import?java.util.Scanner;
import?java.util.Set;
import?java.util.TreeMap;
/*
?*?需求:“aabbbcabcdabcde”,獲取字符串中每一個字母出現的次數要求結果:a(5)b(4)c(3)d(2)e(1)
?*?
?*?分析:
?*??????A:定義一個字符串(可以改進為鍵盤錄入)
?*??????B:定義一個TreeMap集合
?*??????????鍵:Character
?*??????????值:Integer
?*??????C:把字符串轉換為字符數組
?*??????D:遍歷字符數組,得到每一個字符
?*??????E:拿剛才得到的字符作為鍵到集合中去找,看返回值
?*??????????Null:說明該鍵不存在,就把該字符作為鍵,1作為值存儲
?*??????????不是Null:說明該鍵存在,就把值加1,然后重寫存儲該鍵和值
?*??????F:定義字符串緩沖區變量
?*??????G:遍歷集合,得到鍵和值,進行按照要求拼接
?*??????H:把字符串緩沖區轉換為字符串輸出
?*??
?*?*/
public?class?TreeMapTest?{
????public?static?void?main(String[]?args)?{
????????//?TODO?Auto-generated?method?stub
????????//定義一個字符串(可以改進為鍵盤錄入)
????????Scanner?sc?=?new?Scanner(System.in);
????????System.out.println("請輸入字符串:");
????????String?line=sc.nextLine();
????????//定義一個TreeMap集合
????????TreeMap<Character,?Integer>?tm?=?new?TreeMap<Character,Integer>();
????????//把字符串轉換為字符數組
????????char?[]?chs=line.toCharArray();
????????//遍歷字符數組,得到每一個字符
????????for(char?key:chs){
????????????//拿剛才得到的字符作為鍵到集合中去找,看返回值
????????????Integer?i=tm.get(key);
????????????//判斷
????????????if(i==null){
????????????????//Null:說明該鍵不存在,就把該字符作為鍵,1作為值存儲
????????????????tm.put(key,?1);
????????????}else{
????????????????//不是Null:說明該鍵存在,就把值加1,然后重寫存儲該鍵和值
????????????????i++;
????????????????tm.put(key,?i);
????????????}
????????}
????????//定義字符串緩沖區變量
????????StringBuilder?sb?=?new?StringBuilder();
????????//遍歷集合,得到鍵和值,進行按照要求拼接
????????Set<Character>?set?=?tm.keySet();
????????for(Character?key:set){
????????????Integer?value=tm.get(key);
????????????sb.append(key).append("(").append(value).append(")");
????????}
????????//把字符串緩沖區轉換為字符串輸出
????????String?result=sb.toString();
????????System.out.println("result:"+result);
????}
}
以上就是動力節點java培訓機構的小編針對“Java編程分享,treemap實現具體實現Demo”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習