<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    文本操作:元音字符統(tǒng)計(jì)

    泛泛的說,今天的需求就是需要統(tǒng)計(jì)特定字符出現(xiàn)的個(gè)數(shù),想必各位都會(huì),如果僅僅是實(shí)現(xiàn),傳統(tǒng)的實(shí)現(xiàn)應(yīng)該像下面這樣
    1 Map<String, Integer> counts = new HashMap<String, Integer>();
    2 for (String word : words) {
    3     Integer count = counts.get(word);
    4     if (count == null) {
    5         counts.put(word, 1);
    6     } else {
    7         counts.put(word, count + 1);
    8     }
    9 }

    這么做沒問題,簡(jiǎn)單粗暴快,只不過這次我希望更優(yōu)雅的實(shí)現(xiàn)它。今天特地要用一下Google的Guava工程提供的API,Multiset??瓷先ニ且粋€(gè)集合,他也的確是,我們可以簡(jiǎn)單的理解為他是一個(gè)元素順序無關(guān),元素可重的集合,這里不細(xì)講,以使用為主。后續(xù)有機(jī)會(huì)展開一下Guava的內(nèi)容。
     1 package demo_2015_11_17;
     2 
     3 import java.util.Scanner;
     4 
     5 import com.google.common.collect.HashMultiset;
     6 import com.google.common.collect.Multiset;
     7 
     8 public class DEMO 
     9 {
    10     public static void main( String[] args )
    11     {
    12         
    13         Scanner s = null;
    14         try {
    15             //設(shè)定數(shù)據(jù)源
    16             s = new Scanner(System.in);
    17             String srcStr = s.nextLine();
    18             String vowels = "aeiou";
    19             
    20             Multiset<String> ms = HashMultiset.create();
    21             
    22             char[] srcChars = srcStr.toCharArray();
    23             String curChar = null;
    24             
    25             //遍歷數(shù)據(jù)源
    26             for (int i = srcChars.length - 1; i >= 0; i--) {
    27                 curChar = String.valueOf(srcChars[i]);
    28                 if(vowels.indexOf(curChar) != -1){
    29                     ms.add(curChar);
    30                 }
    31             }
    32             
    33             for (String stemp : ms.elementSet()) {
    34                 System.out.println("元音字母[" + stemp + "]的出現(xiàn)次數(shù)為:" + ms.count(stemp));
    35             }
    36             
    37         } finally {
    38             s.close();
    39         }
    40     }
    41 }

    結(jié)果演示如下:
    one twe three four five
    元音字母[e]的出現(xiàn)次數(shù)為:5
    元音字母[u]的出現(xiàn)次數(shù)為:1
    元音字母[i]的出現(xiàn)次數(shù)為:1
    元音字母[o]的出現(xiàn)次數(shù)為:2

    因?yàn)槭褂昧薌uava工程,使用maven管理依賴,所以把Guava的版本貼一下
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>19.0-rc2</version>
    </dependency>

    posted on 2015-11-17 16:11 都較瘦 閱讀(111) 評(píng)論(0)  編輯  收藏 所屬分類: Java相關(guān)案例積累

    <2015年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    博客定位:囿于目前的水平,博客定位在記錄自己的學(xué)習(xí)心得和隨手的練習(xí)

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲最大福利视频| 国产精品亚洲综合一区在线观看| 国产精品爱啪在线线免费观看| 亚洲国产成人手机在线观看| 亚洲日韩国产成网在线观看| 99久久久国产精品免费蜜臀| 亚洲乱理伦片在线观看中字| 国产偷v国产偷v亚洲高清| 台湾一级毛片永久免费| 一级做a爰全过程免费视频毛片| 日韩精品亚洲人成在线观看| 免费va人成视频网站全| 久久久久久久99精品免费| 国产精品无码亚洲一区二区三区 | 亚洲大成色www永久网站| 毛片a级三毛片免费播放| 国产成人1024精品免费| 丁香婷婷亚洲六月综合色| 亚洲香蕉网久久综合影视| 在线观看无码的免费网站| 91福利免费网站在线观看| 亚洲日本久久一区二区va| 久久久久亚洲AV成人网人人网站| a毛片基地免费全部视频| 国产一级一毛免费黄片| 亚洲av永久中文无码精品综合| 亚洲第一视频网站| 亚洲视频人成在线播放| 免费的一级片网站| 91精品国产免费入口| 9i9精品国产免费久久| 亚洲AV永久无码精品一福利| 亚洲成在人线电影天堂色| 精品国产_亚洲人成在线高清| 免费精品国产自产拍观看| 国产精品入口麻豆免费观看| 欧洲人免费视频网站在线| 一区二区三区免费电影| MM1313亚洲国产精品| 麻豆狠色伊人亚洲综合网站| 亚洲精彩视频在线观看|