当前位置: 代码迷 >> Web前端 >> java 去掉字符串中的反复数据
  详细解决方案

java 去掉字符串中的反复数据

热度:374   发布时间:2012-06-26 10:04:13.0
java 去掉字符串中的重复数据
有一组字符串比如  北京,北京,上海,上海,上海,武汉-------->要得到        北京,上海,武汉
怎么去掉里面重复的字符串?



function DelRepetStr(String str)
{
  var result;
   var list = str.split(",");
   for(var i=0; i<list.length; i++)
  {
      if(result.indexOf(list(i)) == -1 ) result = result + list(i) + ",";
  }
  return result;
}

一个ArrayList里放的是字符串,数字型的,如"111","122","111","233"...如何把重复的去掉:

参考:http://topic.csdn.net/t/20061122/01/5175479.html#

public class testStr {

/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  ArrayList tmp = new ArrayList();
  tmp.add("111");
  tmp.add("112");
  tmp.add("111");
  tmp.add("111");
  tmp.add("114");
  String t1, t2;
 
  /**********方法一 start************/  
//  for (int i = 0; i < tmp.size(); i++) {
//   t1 = (String) tmp.get(i);
//   for (int j = i + 1; j < tmp.size(); j++) {
//    t2 = (String) tmp.get(j);
//    if (t1.equals(t2)) {
//     tmp.remove(j);
//     j--;
//    }
//   }
//  }
  /**********方法一 end*********××***/
 
  /**********方法二 start************/
//  for (int i = 0; i < tmp.size(); i++) {
//   t1 = (String) tmp.get(i);
//   for (int j = tmp.size() - 1; j > i; j--) {
//    t2 = (String) tmp.get(j);
//    if (t1.equals(t2)) {
//     tmp.remove(j);
//    }
//   }
//  }
 
  /**********方法二 end**************/
  /**********方法三 start************/
  // tmp = (ArrayList) removeDuplicateObj(tmp); 
  /**********方法三 end**************/
 
 
  /**********方法四 start************/
  TreeSet   set=new   TreeSet(tmp); 
   
    Iterator   it=set.iterator(); 
    
    
    int[]   arr=new   int[set.size()]; 
    int   i=0; 
    while(it.hasNext()){ 
    arr[i]=Integer.parseInt(it.next().toString()); 
    i++; 
    } 
    
    Arrays.sort(arr); 
    
    for (int j = 0; j < arr.length; j++) {
     System.out.println(arr[j]); 
    }

    /**********方法四 end**************/
 
  System.out.println("tmp--"+tmp.size());

}
    /** 
     *   @param   list 
     */ 
   private static   List   removeDuplicateObj(List   list)   { 
           //   ................ 
           Set   someSet   =   new   HashSet(list); 

           //   将Set中的集合,放到一个临时的链表中(tempList) 
           Iterator   iterator   =   someSet.iterator(); 
           List   tempList   =   new   ArrayList(); 
           int   i   =   0; 
           while   (iterator.hasNext())   { 
                   
                   tempList.add(iterator.next().toString()); 
                   i++; 
           } 
           return   tempList; 
   } 

}
  相关解决方案