使用hashtable对字符串操作

转载 2007年09月30日 14:55:00
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;
    }

Hashtable与ArrayListTest编译问题:使用了未经检查或不安全的操作;请使用 -Xlint:unchecked 重新编译

ArrayList staff = new ArrayList(); Hashtable table = new Hashtable(); 在编译java源文件时,如果你的jdk是1.5或者以...

day16集合map里面的(hashtable,hashmap,treemap)的取出方式(keyset和entryset),获取该字符串的字母出现次数

class MapDemo  { public static void main(String[] args)  { Map map=new HashMap(); // map.put("...

HashTable 常用操作

  • 2008年07月09日 16:44
  • 2KB
  • 下载

用Hashtable实现字符串中字符的个数的查询

我觉得很吊的文章

使用Java操作JSON字符串对象

  • 2013年07月07日 10:45
  • 35KB
  • 下载

字符串通过hashtable来解决问题

http://blog.chinaunix.net/uid-25434387-id-3527923.html 题目:   在字符串中找出第一个只出现一次的字符串,如输入"abaccde...
  • jeffasd
  • jeffasd
  • 2016年06月01日 23:31
  • 346

hashtable的使用

  • 2012年02月29日 10:20
  • 195KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用hashtable对字符串操作
举报原因:
原因补充:

(最多只允许输入30个字)