<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)計

    公告

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

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文字幕乱码亚洲精品一区| 精品亚洲成a人片在线观看少妇| 亚洲精品无码人妻无码| 国产成人午夜精品免费视频| 亚洲福利电影在线观看| 中国xxxxx高清免费看视频| 亚洲色成人网一二三区| xxxx日本免费| 亚洲人成电影网站久久| 四虎免费在线观看| 高h视频在线免费观看| 亚洲日本中文字幕一区二区三区| 成年午夜视频免费观看视频| 国产成人精品日本亚洲直接| 全免费a级毛片免费看不卡| 亚洲a∨国产av综合av下载 | 亚洲小说区图片区另类春色| 青青操免费在线观看| 久久精品国产亚洲AV大全| 最近2019中文字幕免费看最新| 99久久国产亚洲综合精品| 国产午夜免费福利红片| 一级毛片a免费播放王色| 在线精品免费视频无码的| 精品国产亚洲第一区二区三区| 亚洲日本va午夜中文字幕久久 | 精品在线视频免费| 中文字幕亚洲无线码| 18禁美女黄网站色大片免费观看 | 偷自拍亚洲视频在线观看99| 国产亚洲精品无码专区| 91精品视频在线免费观看| 亚洲第一成人在线| 亚洲精品国产高清不卡在线| 久久免费精品一区二区| 亚洲中文字幕乱码AV波多JI| 在线亚洲精品自拍| 免费无码黄十八禁网站在线观看| 一区二区三区免费在线视频| 久久精品国产亚洲av高清漫画| 国产精品视频免费一区二区三区 |