如字符串
A:1,2,3,4,5,6,7,8,10,20...
B:0,2,5,8,20...
如何用java来提取他们当中的不同值,如上,如何让结果为:0,1,3,4,5,6,7,10

解决方案 »

  1.   


    String[] array = {1,2,3,4,5,6,7,8,10,20};
    Set set = new HashSet();
    for(int  i = 0; i < array.length; i++) {
       set.add(array.length);
    }
      

  2.   

    int a[] = {1,2,3,4,5,6,7,8,10,20}
    int b[] = {0,2,5,8,20}
    Map m = new HashMap();
    for(int i = 0 ; i < a.length; i++)
    {
    if(m.get(a[i])==null)
         m.put(a[i],1);
    else
         m.put(a[i],m.get(a[i])+1);
    }大致是这意思,数值作为Key,次数作为value
    最后遍历如果次数大于1的就不要了
      

  3.   

    前提是保证字符串A和B都是数字 并且按照顺序组合的  int[] a=new int []{1,2,3,4,5};
    int[] b=new int []{2,3,4};
    for(int ai=0,bi=0,al=a.length,bl=b.length;ai<al;){
    if(bi==bl||a[ai]<b[bi]){
    System.out.print(a[ai]+",");
    ai++;
    }else if(a[ai]==b[bi]){
    ai++;
    bi++;
    }else{
    bi++;
    }
    }