字符串:801;959;960;801;959;960;962将里面重复的数字去掉,在线等,谢谢各位大侠。。

解决方案 »

  1.   

    要看多不多了,如果不多的话,使用Map就比较简单了。如果多了的话,可能需要使用数据库等其它方式来存储之后再操作了。先把数据split开,然后逐个存入一个Map中,然后再逐个从Map中取出来,重复的自然就被剔除掉了。如果剔除了之后还要保存顺序的话,就是用LinkedHashMap就可以了。
      

  2.   

    import java.util.*;
    public class Test1{
    public static void main(String[] args){
    String str="801;959;960;801;959;960;962";
    String result=removeRepeated(str);
    System.out.println(result); }
    public static  String removeRepeated(String str){
    String[] strs=str.split(";");
    String result="";
    HashSet<String> hs=new HashSet<String>();
    for(String s:strs){
    if(!hs.contains(s)){
    result+=s+";";
    hs.add(s);
    }
    }
    return result.substring(0,result.length()-1);
    }

    }
      

  3.   

    用split分割,然后存入Set集合里面去,重复数字在Set中只会出现一次,存完以后取出来把字符串拼起来就是了.!
      

  4.   

    算法:
    1.先用String的split方法把字符串中的所以数据放入一个数组A中
    2.每次从数组中选取一个数字,放入另外一个数组B中
    3.每次在数组B中加数据的时候都先把数据与数组B中的所以数据进行比较,如果相等就不加入数组B中
    4.最后按格式输出数组B中的所以数据就行了
      

  5.   

    801;959;960;801;959;960;962 分别做为KEY,map相同的key会自动覆盖
      

  6.   

    如果要考虑顺序问题把HashSet改成LinkedHashSet
      

  7.   

    首先把字符串进行分割,把数字都取出来然后放入Set集合,自然就把数字分开了,因为集合里不能有重复的值
      

  8.   

    String str="801;959;960;801;959;960;962"; 
    String[] results = str.split(";"); 
    Set<String> result = new HashSet<String>();
    for(String s : results) {
        if(result.add(s)){
            //无此元素时的代码
        } else {
           //包含此元素时的代码
        }
    }
      

  9.   

    return result.substring(0,result.length()-1);
      big bug 最后这句有什么用哈。。删了输出结果还是一样哈。
      

  10.   

    不用改
    我不是把放到set中的字符串连起来,我只是用set来判断是否重复.结果是按数组的顺序连接的。