Java編程實(shí)現(xiàn)統(tǒng)計(jì)一個(gè)字符串中各個(gè)字符出現(xiàn)次數(shù)的方法
本文實(shí)例講述了Java編程實(shí)現(xiàn)統(tǒng)計(jì)一個(gè)字符串中各個(gè)字符出現(xiàn)次數(shù)的方法。分享給大家供大家參考,具體如下:
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class TreeMapDemo
{
//統(tǒng)計(jì)一個(gè)字符串中相應(yīng)字符出現(xiàn)的次數(shù)
public static void main(String[] args)
{
//
System.out.println("腳本之家測試結(jié)果:");
String s = "aagfagdlkerjgavpofjmvglk我是你的";
//調(diào)用自定義方法來 統(tǒng)計(jì)相應(yīng)字符出現(xiàn)的次數(shù)
method(s);
}
private static void method(String s)
{
//定義 一個(gè)容器
TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
//將這TreeMap中的key全部取出來,然后儲存到set集合中去
Set<Character> st = tm.keySet();
//將所需要統(tǒng)計(jì)的字符串轉(zhuǎn)換成一個(gè)字符數(shù)組
char[] c = s.toCharArray();
//通過for循環(huán)逐一統(tǒng)計(jì)每個(gè)字符出現(xiàn)的次數(shù)
for(int x=0;x<c.length;x++)
{
if(!st.contains(c[x]))
{
tm.put(c[x], 1);
}
else
{
tm.put(c[x], tm.get(c[x])+1);
}
}
//調(diào)用自定義方法在控制臺上輸出統(tǒng)計(jì)信息
printMapDemo(tm);
}
private static void printMapDemo(TreeMap<Character, Integer> tm) {
// TODO Auto-generated method stub
Set<Character> st = tm.keySet();
Iterator<Character> ti = st.iterator();
for(;ti.hasNext();)
{
char key = ti.next();
System.out.println(key+"("+tm.get(key)+")");
}
}
}
運(yùn)行結(jié)果:

PS:這里再為大家推薦2款非常方便的統(tǒng)計(jì)工具供大家參考使用:
在線字?jǐn)?shù)統(tǒng)計(jì)工具:
http://tools.jb51.net/code/zishutongji
在線字符統(tǒng)計(jì)與編輯工具:
http://tools.jb51.net/code/char_tongji
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
- java統(tǒng)計(jì)字符串中重復(fù)字符出現(xiàn)次數(shù)的方法
- java統(tǒng)計(jì)字符串中指定元素出現(xiàn)次數(shù)方法
- java中對字符串每個(gè)字符統(tǒng)計(jì)的方法
- java 字符串詞頻統(tǒng)計(jì)實(shí)例代碼
- java實(shí)現(xiàn)統(tǒng)計(jì)字符串中字符及子字符串個(gè)數(shù)的方法示例
- Java簡單統(tǒng)計(jì)字符串中漢字,英文字母及數(shù)字?jǐn)?shù)量的方法
- Java統(tǒng)計(jì)字符串中字符出現(xiàn)次數(shù)的方法示例
- java8 統(tǒng)計(jì)字符串字母個(gè)數(shù)的幾種方法總結(jié)(推薦)
- java統(tǒng)計(jì)字符串單詞個(gè)數(shù)的方法解析
- Java實(shí)現(xiàn)統(tǒng)計(jì)字符串出現(xiàn)的次數(shù)
相關(guān)文章
java使用CountDownLatch實(shí)現(xiàn)多線程協(xié)作
在多線程編程中,經(jīng)常需要實(shí)現(xiàn)一種機(jī)制來協(xié)調(diào)多個(gè)線程的執(zhí)行,以確保某些操作在所有線程完成后再進(jìn)行,CountDownLatch?就是?Java?并發(fā)包中提供的一種同步工具,下面我們就來看看如何使用CountDownLatch實(shí)現(xiàn)多線程協(xié)作吧2023-11-11
Java replaceAll()方法報(bào)錯(cuò)Illegal group reference的解決辦法
這篇文章主要給大家介紹了關(guān)于Java replaceAll()方法報(bào)錯(cuò)Illegal group reference的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Java for循環(huán)常見優(yōu)化方法案例詳解
這篇文章主要介紹了Java for循環(huán)常見優(yōu)化方法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
關(guān)于Mybatis的mapper接口函數(shù)重載問題
這篇文章主要介紹了關(guān)于Mybatis的mapper接口函數(shù)重載問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
IDEA對使用了第三方依賴jar包的非Maven項(xiàng)目打jar包的問題(圖文詳解)
這篇文章主要介紹了IDEA對使用了第三方依賴jar包的非Maven項(xiàng)目打jar包的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Java Validation Api實(shí)現(xiàn)原理解析
這篇文章主要介紹了Java Validation Api實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09

