隨筆-22  評(píng)論-6  文章-17  trackbacks-0
          1、去掉一個(gè)字符串?dāng)?shù)組中的重復(fù)項(xiàng):(2006.04.11.)
          原來(lái)采用的方法:
          ?1?String[]?rid?=?request.getParameterValues("noattRid");
          ?2?//需要用一個(gè)臨時(shí)的變量把過(guò)濾后的結(jié)果這個(gè)存起來(lái)
          ?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?//還需要用一個(gè)方法來(lái)判斷在結(jié)果中是否存在此項(xiàng),如下
          12??/**
          13??????*?用于查找某個(gè)字符串是否在一個(gè)字符串?dāng)?shù)組中
          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?????}

          看看,要多麻煩有多麻煩,來(lái)看看新方法:
          1?String[]?s?=?request.getParameterValues("noattRid");
          2?List?list?=?Arrays.asList(s);
          3?Set?set?=?new?HashSet(list);
          4?rid=(String?[])set.toArray();
          簡(jiǎn)簡(jiǎn)單單的三行代碼即可搞定,無(wú)論是從程序的可讀性、優(yōu)雅性還是效率方面都有很好的提升。
          擴(kuò)展:你同時(shí)還可以運(yùn)用上面的方法還判斷三個(gè)字符串是否相等(可進(jìn)一步擴(kuò)展至多個(gè),但是似乎不太有實(shí)際意義),例程如下:
          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) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宁国市| 岳普湖县| 南汇区| 南平市| 河东区| 定安县| 阜阳市| 炎陵县| 泌阳县| 青海省| 崇义县| 龙州县| 丽水市| 蒙阴县| 漠河县| 塔河县| 永善县| 乐清市| 博湖县| 荔浦县| 托克逊县| 卫辉市| 车险| 德庆县| 临汾市| 太康县| 泸水县| 旬阳县| 辉南县| 福鼎市| 池州市| 金溪县| 兴安县| 广饶县| 赣州市| 涿鹿县| 县级市| 荔浦县| 靖宇县| 麟游县| 永城市|