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

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

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

    文本操作:元音字符統計

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

    這么做沒問題,簡單粗暴快,只不過這次我希望更優雅的實現它。今天特地要用一下Google的Guava工程提供的API,Multiset。看上去他是一個集合,他也的確是,我們可以簡單的理解為他是一個元素順序無關,元素可重的集合,這里不細講,以使用為主。后續有機會展開一下Guava的內容。
     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             //設定數據源
    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             //遍歷數據源
    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 + "]的出現次數為:" + ms.count(stemp));
    35             }
    36             
    37         } finally {
    38             s.close();
    39         }
    40     }
    41 }

    結果演示如下:
    one twe three four five
    元音字母[e]的出現次數為:5
    元音字母[u]的出現次數為:1
    元音字母[i]的出現次數為:1
    元音字母[o]的出現次數為: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

    導航

    統計

    公告

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

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲A∨无码无在线观看| 免费国产不卡午夜福在线| 亚洲永久精品ww47| www在线观看播放免费视频日本| 婷婷亚洲天堂影院| 黄色a级片免费看| 亚洲人午夜射精精品日韩| 乱爱性全过程免费视频| 国产亚洲?V无码?V男人的天堂 | 在线a亚洲老鸭窝天堂av高清| 99精品国产免费久久久久久下载 | 激情无码亚洲一区二区三区| 伊人久久亚洲综合影院| 中美日韩在线网免费毛片视频 | 亚洲综合伊人久久综合| 日韩精品无码免费专区网站| 亚洲AV天天做在线观看| 成年黄网站色大免费全看| 亚洲偷偷自拍高清| 亚洲国产精品无码久久九九| 最近更新免费中文字幕大全| 亚洲永久中文字幕在线| 四虎影视大全免费入口| 有码人妻在线免费看片| 无码欧精品亚洲日韩一区| 欧美好看的免费电影在线观看| 久久精品国产亚洲av瑜伽| 91麻豆国产自产在线观看亚洲| 青青草无码免费一二三区| 亚洲av日韩综合一区久热| 国产亚洲欧洲精品| 69成人免费视频| 免费中文字幕视频| 97久久精品亚洲中文字幕无码 | 免费人妻av无码专区| 大地影院MV在线观看视频免费| 亚洲二区在线视频| 亚洲人成无码久久电影网站| 日本免费网站视频www区| 国产精品亚洲专区无码不卡| 亚洲精品无码久久一线|