posts - 8,  comments - 11,  trackbacks - 0

          import java.util.*;
          /*
           * @author  詩(shī)語(yǔ)江南
           * @function  統(tǒng)計(jì)字符串中的重復(fù)部分并整理輸出,
           *      我用了兩種方法來(lái)做.
           */
          public class StrShowTimes{
           public static void main(String[] r){
            String str = "帥哥,美女,帥哥,野獸,美女,帥哥";

            Map s1 = strTimesWithMap(str);
            Set keys = s1.keySet();
            Iterator it = keys.iterator();
            while(it.hasNext()){
             String key  = (String)it.next();
             int value = (Integer) s1.get(key);
             System.out.print(key + ": " + value+ ", ");
            }
            System.out.println();
            
            strTimesWithArray(str);
           }

           //使用HashMap的方法,該方法比較簡(jiǎn)單
           public static Map strTimesWithMap(String str){
            //key: 子字符串 String , value: 重復(fù)次數(shù) Integer
            Map strMap = new HashMap();
            String[] strArr = str.split(",");
            for(int i =0; i< strArr.length ; i++){
             String key = strArr[i] ;
             if(strMap.containsKey(key)){
              int value = (Integer) strMap.get(key);
              strMap.put(key,++value);
             }else{
              strMap.put(key,1);
             }   
            }  
            return strMap;
           }

           //使用雙數(shù)組的方法,一個(gè)字符串?dāng)?shù)組存字符串
           //一個(gè)整形數(shù)組存與字符串?dāng)?shù)組對(duì)應(yīng)位置上的字符串出現(xiàn)的次數(shù)
           public static void strTimesWithArray(String str){
            String[] tempArr = str.split(",");
            int i , end = 0 , len = tempArr.length;
            String[] strArr = new String[len];
            int[] intArr = new int[len];
            boolean isChange ;
            for(i = 0 ; i < len ; i++){
             isChange = false;
             for(int j = 0 ; j < end ; j++){  
              if(tempArr[i].equals(strArr[j])){
               intArr[j] = intArr[j] +1 ;
               isChange = true;   
               break;
              }      
             }
             if(isChange) continue;
             strArr[end] = tempArr[i];
             intArr[end++] = 1; 
            }
            for(i = 0 ; i < end ; i++){
             System.out.print(strArr[i] + ": " + intArr[i] + " ");
            }
           }

          }

          posted on 2007-10-05 13:36 詩(shī)語(yǔ)江南 閱讀(1681) 評(píng)論(3)  編輯  收藏 所屬分類(lèi): Core JAVA

          FeedBack:
          # re: 統(tǒng)計(jì)字符串中的重復(fù)部分并整理輸出[未登錄](méi)
          2007-10-05 21:37 | xmlspy
          這個(gè)東西如果自己研究研究還好,
          如果使用的話,加以用common-lang中的StringUtils.java
          當(dāng)中大部分的String操作都有了  回復(fù)  更多評(píng)論
            
          # re: 統(tǒng)計(jì)字符串中的重復(fù)部分并整理輸出
          2008-11-24 19:04 | ff
          # re: 統(tǒng)計(jì)字符串中的重復(fù)部分并整理輸出
          2008-11-24 19:12 | hello3180
          小弟在瀏覽網(wǎng)頁(yè)時(shí) 突然看到閣下您寫(xiě)的 統(tǒng)計(jì)字符串中的重復(fù)部分并整理輸出
          的java程序特別地興奮 十分期待能向閣下“取經(jīng)”。QQ:137206889  回復(fù)  更多評(píng)論
            
          <2008年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(2)

          隨筆分類(lèi)

          隨筆檔案

          友情連接

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 宜都市| 康马县| 云霄县| 义乌市| 阜新市| 安乡县| 天门市| 镇坪县| 昌都县| 华坪县| 罗定市| 炎陵县| 资兴市| 安吉县| 同仁县| 元阳县| 石狮市| 延川县| 乳山市| 天镇县| 华容县| 旬邑县| 多伦县| 连城县| 醴陵市| 海丰县| 吴旗县| 海盐县| 铅山县| 麻栗坡县| 阳高县| 乌拉特中旗| 开封县| 河间市| 和林格尔县| 江源县| 吴桥县| 乌恰县| 桃江县| 来凤县| 吉林市|