程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用Hashtable對字符串進行碰撞

使用Hashtable對字符串進行碰撞

編輯:關於JAVA

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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved