一道编程小题:
    要求实现下面类的filter方法功能,从srcArr中找出filterArr中不存在的字符串
    public class StringFilter{
        public StringFilter(){}
        public String[] filter(String[] srcArr,String[] filterArr){
        
        
        }
    }
   中间的具体逻辑代码请高手指教

解决方案 »

  1.   

    简单的处理方式 List a1 = Arrays.asList(srcArr);
    List a2 = Arrays.asList(filterArr);
    a1.removeAll(a2);
    return (String[])(a1.toArray());经过上面的处理之后,a1里面只有srcArr中找出filterArr中不存在的字符串
    然后再转化成string[]
      

  2.   

    这里你要了解removeAll的原理,它主要依赖于string的equals方法,不是所有的别的类都可以用的,这个可以自己研究下
      

  3.   

    好简洁啊,没想到list还有removeAll这个方法 呵呵
      

  4.   

    看来我对API很不熟悉啊
    list有removeAll()方法也不知道 
      

  5.   

    抱歉,是偶错了,偶的程序要改一下,不记得Arrays.asList()方法得到的是ArrayList类型了,ArrayList类型没实现remove()方法,要转成linkedlist才可以。
    正确的如下 LinkedList a1 = new LinkedList(), a2 = new LinkedList();
    a1.addAll(Arrays.asList(srcArr));
    a2.addAll(Arrays.asList(filterArr));
    a1.removeAll(a2);
    return (String[])(a1.toArray());