1.在一些字符串数组中,常会有重复的记录,比如手机号码,我们可以通过Hashtable来对其进行过滤
public
String[] checkArray(String[] str)
...
{
Hashtable<String, String> hash=new Hashtable<String, String>();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
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;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
while(enumeration.hasMoreElements())...{
str_new[i]=enumeration.nextElement().toString();
i++;
}
return str_new;
}
示例: String[] mobile=; 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=; String[] mobile2=; 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 ![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
str_remove)
...
{
Hashtable<String, String> hash=new Hashtable<String, String>(); ![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
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(); ![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
while(enumeration.hasMoreElements())...{
str_new[i]=enumeration.nextElement().toString();
i++;
}
return str_new;
}