13011111111
13022222222
13033333333
13044444444
13022222222
13022222222
13044444444
13055555555
13066666666
我想只显示不重复的号码。并打印出来,该用什么方法比较啊?都是string

解决方案 »

  1.   

    String[] strs = {"13011111111","13022222222","13033333333",
    "13044444444","13022222222","13022222222","13044444444",
    "13055555555","13066666666"};

    HashMap hm = new HashMap();

    for (int i=0; i<strs.length; i++)
    {
    hm.put(strs[i], i);
    }

    Iterator it = hm.keySet().iterator();
        
        while (it.hasNext()) {
         String key = (String)it.next();
         System.out.println(key);    
        }
      

  2.   

    利用哈希表,一种比较能偷懒的办法。
    示意代码
    try 
    {  
     for(int i = 0 ;i < astrData.length;i++)
     {
       if(hashObj.containsKey(astrData[i])
       {
         hashObj.put(astrData[i],"1");
       }
       else
       { 
        hashObj.put(astrData[i],"0");  
       }   
      }
      
      for (Enumeration e = hashObj.elements() ; e.hasMoreElements() ;) 
     {
       if (hashObj.get(e.nextElement()).equals("1")
       {
          // do something you want to do 
       }  
      } 
    }
      

  3.   

    用hashSet就行了! 它不会有重复.
    import java.util.*;
    public class Parcel5 
    {
       
      public static void main(String[] args) {
        String[] strs = {"13011111111","13022222222","13033333333",
    "13044444444","13022222222","13022222222","13044444444",
    "13055555555","13066666666"};
         Set set = new HashSet(Arrays.asList(strs));
         System.out.println(set);
      }
    }
      

  4.   

    用hashmap有点浪费呦,用ArrayList就行了。
      

  5.   

    楼上ArrayList怎么用啊?有什么现成的方法吗?还有啊,我的这样字符串有上千个啊,而且是不确定的,用数组不太好吧,用ArrayList装还差不多。但不知道用什么算法,或者有什么现成的函数实现吗?
      

  6.   

    HashSet不是挺好的吗,重复的就不会放进去。
      

  7.   

    用hashtable之类的不是浪费,一般hashtable的默认的负载因子是 0.75,
    还不算浪费的太夸张,但是在搜索的时候速度是非常快的,大多数时候一次就能命中用 ArrayList的话,固然节省一点空间,但是搜索匹配的时候,呵呵,开销太大。
      

  8.   

    先不要计论性能啦,先给个实现的方法吧。。我的这些string是未知够,会有好几千个,
    我想去掉那些重复的。该怎么实现?
      

  9.   

    上面很多人不是给出办法了吗?
    如果
    A
    A
    B
    C
    C
    输入是 B 的话
    那么用我的方法。
    如果输入是 
    A
    B
    C
    的话
    用我楼上或者楼下的。