java的集合操做(交集、並集、差集)整理

/**
     * 求ls對ls2的差集,即ls中有,但ls2中沒有的
     *
     * @param ls
     * @param ls2
     * @return
     */
    public static List diff(List ls, List ls2) {
        List list = new ArrayList(Arrays.asList(new Object[ls.size()]));
        Collections.copy(list, ls);
        list.removeAll(ls2);
        return list;
    }spa

    /**
     * 求2個集合的交集
     *
     * @param ls
     * @param ls2
     * @return
     */
    public static List intersect(List ls, List ls2) {
        List list = new ArrayList(Arrays.asList(new Object[ls.size()]));
        Collections.copy(list, ls);
        list.retainAll(ls2);
        return list;
    }.net

    /**
     * 求2個集合的並集
     *
     * @param ls
     * @param ls2
     * @return
     */
    public static List union(List ls, List ls2) {
        List list = new ArrayList(Arrays.asList(new Object[ls.size()]));
        Collections.copy(list, ls);//將ls的值拷貝一份到list中
        list.removeAll(ls2);
        list.addAll(ls2);
        return list;
    }rem

相關文章
相關標籤/搜索