隨筆-22  評論-6  文章-17  trackbacks-0
          1、去掉一個字符串數組中的重復項:(2006.04.11.)
          原來采用的方法:
          ?1?String[]?rid?=?request.getParameterValues("noattRid");
          ?2?//需要用一個臨時的變量把過濾后的結果這個存起來
          ?3?String[]?ridFiltered?=?new?String[rid.length];
          ?4?????????int?index?=?0;
          ?5?????????for?(int?i?=?0;?i?<?rid.length;?i++)?{
          ?6?????????????if?(!this.isExistString(ridFiltered,?rid[i])&&!rid[i].equals(""))?{
          ?7?????????????????ridFiltered[index++]?=?rid[i];
          ?8?????????????}
          ?9?????????}
          10?
          11?//還需要用一個方法來判斷在結果中是否存在此項,如下
          12??/**
          13??????*?用于查找某個字符串是否在一個字符串數組中
          14??????*?@param?dest?String[]
          15??????*?@param?str?String
          16??????*?return?boolean
          17??????*/
          18?
          19?????public?boolean?isExistString(String[]?dest,?String?str)?{
          20?????????boolean?flag?=?false;
          21?????????for?(int?i?=?0;?i?<?dest.length;?i++)?{
          22?????????????if?(str.equals(dest[i]))?{
          23?????????????????flag?=?true;
          24?????????????}
          25?????????}
          26?????????return?flag;
          27?????}

          看看,要多麻煩有多麻煩,來看看新方法:
          1?String[]?s?=?request.getParameterValues("noattRid");
          2?List?list?=?Arrays.asList(s);
          3?Set?set?=?new?HashSet(list);
          4?rid=(String?[])set.toArray();
          簡簡單單的三行代碼即可搞定,無論是從程序的可讀性、優雅性還是效率方面都有很好的提升。
          擴展:你同時還可以運用上面的方法還判斷三個字符串是否相等(可進一步擴展至多個,但是似乎不太有實際意義),例程如下:
          1?String[]?s?=?{"one",?"two",?"two"};
          2?List?list?=?Arrays.asList(s);
          3?Set?set?=?new?HashSet(list);
          4?System.out.println(list.size()?==?set.size());?//?false
          posted on 2006-04-12 10:24 surffish 閱讀(101) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 黑河市| 老河口市| 镇远县| 法库县| 雷山县| 宕昌县| 梨树县| 长春市| 信丰县| 绵阳市| 九江县| 汝南县| 韶关市| 宁乡县| 巴彦淖尔市| 安康市| 石狮市| 泰宁县| 台湾省| 上高县| 阿图什市| 简阳市| 遂平县| 贵德县| 肇东市| 沂水县| 东兰县| 元朗区| 三河市| 灵山县| 天水市| 邯郸县| 平陆县| 根河市| 乾安县| 廊坊市| 凤庆县| 合山市| 鹤峰县| 进贤县| 阳曲县|