1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      使用Hashtable對字符串進行碰撞

      更新時間: 2007-06-04 10:32:33來源: 粵嵌教育瀏覽量:667


        1.在一些字符串數組中,常會有重復的記錄,比如手機號碼,我們可以通過Hashtable來對其進行過濾

      public String[] checkArray(String[] str)...{
      Hashtable<String, String> hash=new Hashtable<String, String>();

      for(int i=0;i<str.length;i++)...{
      if(!hash.containsKey(str[i]))
      hash.put(str[i], str[i]);
      }

      Enumeration enumeration=hash.keys();
      String[] str_new=new String[hash.size()];
      int i=0;

      while(enumeration.hasMoreElements())...{
      str_new[i]=enumeration.nextElement().toString();
      i++;
      }
      return str_new;
      }
      示例:
      String[] mobile={"13811071500","13811071500","13811071501","13811071503","13811071501"};
      mobile=checkArray(mobile);
      for(int i=0;i<mobile.length;i++)
      System.out.println(mobile[i]);
      輸出結果為:
      13811071503
      13811071501
      13811071500

        2.A,B均為字符串數組,找出在A中存在,而在B中不存在的字符串
      public String[] compareArray(String[] A,String[] B){
      Hashtable<String, String> hash=new Hashtable<String, String>();
      Hashtable<String, String> hash_new=new Hashtable<String, String>();

      for(int i=0;i<B.length;i++)
      hash.put(B[i], B[i]);

      for(int i=0;i<A.length;i++){
      if(!hash.containsKey(A[i]))
      hash_new.put(A[i], A[i]);
      }

      String[] C=new String[hash_new.size()];
      int i=0;
      Enumeration enumeration=hash_new.keys();

      while(enumeration.hasMoreElements()){
      C[i]=enumeration.nextElement().toString();
      i++;
      }
      return C;
      }
      示例:
      String[] mobile1={"13811071500","13811071501","13811071502","13811071503","13811071504"};
      String[] mobile2={"13811071500","13811071505","13811071502","13811071506","13811071504"};
      String[] mobile3=compareArray(mobile1,mobile2);
      for(int i=0;i<mobile3.length;i++)
      System.out.println(mobile[i]);
      輸出結果:
      13811071503
      13811071501
      存在的問題:
      每次都是倒序,可以再對程序稍加改動,變成正序。

        3.將一個字符串數組中某一個特定的字符串過濾掉

      /** *//**檢驗一個字符串數組,若包含某一特定的字符串,則將該字符串從數組中刪
      除,返回剩余的字符串數組
      * @param str_array 字符串數組
      * @param str_remove 待刪除的字符串
      * @return 過濾后的字符串
      */
      public String[] removeStrFromArray(String[] str_array,String
      str_remove)...{
      Hashtable<String, String> hash=new Hashtable<String, String>();
      for(int i=0;i<str_array.length;i++)...{
      if(!str_array[i].equals(str_remove))
      hash.put(str_array[i], str_array[i]);
      }
      //生成一個新的數組
      String[] str_new=new String[hash.size()];
      int i=0;
      Enumeration enumeration=hash.keys();
      while(enumeration.hasMoreElements())...{
      str_new[i]=enumeration.nextElement().toString();
      i++;
      }
      return str_new;
      }

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 欧美国产亚洲精品 | 一区二区免费高清观看国产丝瓜 | 一级日本大片免费 | 日韩欧美精品一本在线播放 | 久久综合一区视频 | 亚洲成aV人在线视猫咪 |