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

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

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

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

    泛泛的說,今天的需求就是需要統(tǒng)計特定字符出現(xiàn)的個數(shù),想必各位都會,如果僅僅是實現(xiàn),傳統(tǒng)的實現(xiàn)應該像下面這樣
    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 }

    這么做沒問題,簡單粗暴快,只不過這次我希望更優(yōu)雅的實現(xiàn)它。今天特地要用一下Google的Guava工程提供的API,Multiset。看上去他是一個集合,他也的確是,我們可以簡單的理解為他是一個元素順序無關,元素可重的集合,這里不細講,以使用為主。后續(xù)有機會展開一下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ù)據(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

    因為使用了Guava工程,使用maven管理依賴,所以把Guava的版本貼一下
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>19.0-rc2</version>
    </dependency>

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

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

    導航

    統(tǒng)計

    公告

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

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一二三四影视在线看片免费 | 日韩av无码久久精品免费| 日本无吗免费一二区| 亚洲一区二区三区播放在线| 成人免费视频网站www| 亚洲理论片在线观看| 欧洲乱码伦视频免费| 亚洲综合伊人久久综合| a级成人毛片免费图片| 久久久www成人免费毛片 | 免费二级毛片免费完整视频| 男女超爽视频免费播放| 色播在线永久免费视频| 免费福利资源站在线视频| 日韩精品免费视频| 666精品国产精品亚洲| 久热中文字幕在线精品免费| 亚洲无人区码一二三码区别图片| 久久er国产精品免费观看2| 久久精品国产精品亚洲艾| 1000部啪啪未满十八勿入免费| 亚洲精品高清在线| 国产永久免费高清在线| 久久久久亚洲AV成人片| 免费无码又爽又刺激高潮的视频| 亚洲明星合成图综合区在线| 成年男女男精品免费视频网站 | 亚洲91av视频| 91在线品视觉盛宴免费| 无人视频免费观看免费视频| 亚洲AV综合色区无码另类小说| 特级aa**毛片免费观看| 免费看的一级毛片| 九九99热免费最新版| 亚洲国产成人手机在线电影bd| 国产99视频精品免费专区| 亚洲高清有码中文字| 亚洲精品麻豆av| 国产成人综合亚洲| 亚洲欧洲在线观看| 性做久久久久免费观看|