篩選兩個數組中不一樣的元素

在頁面中有checkbox多項選擇時,若是未選擇某一項,有時候想要得到未選中的checkbox的值,就須要從數據庫中查詢全部的值(list),把從前端傳到後端的選中的checkbox值做爲數組t1,把從數據庫中得到的全部的checkbox的值做爲t2或list2前端

1.篩選數組t2中與t1不一樣的元素數據庫

private  <T> List<T> compareArrary(T[] t1, T[] t2) {
        List<T> list1 = Arrays.asList(t1);
        List<T> list2 = new ArrayList<T>();
        for (T t : t2) {
            if (!list1.contains(t)) { 
                list2.add(t); //篩選t2中與t1不一樣的元素
  } } return list2; }

 

2.篩選兩個數組中不一樣的元素後端

private  <T> List<T> compareArray(T[] t1, T[] t2) {
        List<T> list1 = Arrays.asList(t1);
        List<T> list2 = Arrays.asList(t2);
        List<T> list3 = new ArrayList<T>();
        for (T t : t2) {
            if (!list1.contains(t)) {
                list3.add(t); //篩選t2中與t1不一樣的元素
            }
        }
        for (T t : t1) {
            if (!list2.contains(t)) {
                list3.add(t); //篩選t1中與t2不一樣的元素
            }
        }
        return list3;
    }

3.篩選數組和ArrayList的不一樣元素數組

private  <T> List<T> compare(T[] t1, List<T> list2) {
        List<T> list1 = Arrays.asList(t1);
        List<T> list3 = new ArrayList<T>();
        for (T t : list2) {
            if (!list1.contains(t)) {
                list3.add(t); //篩選t2中與t1不一樣的元素
            }
        }
        for (T t : t1) {
            if (!list2.contains(t)) {
                list3.add(t); //篩選t1中與t2不一樣的元素
            }
        }
        return list3;
    }

例子spa

public class test {
   
    public static void main(String[] args){
        test test=new test();
        Integer[] a={1,3,5,9};
        Integer[] b={2,3,5,7,0};
        List<Integer> list = test.compare(a, b);
        for (int i=0;i<list.size();i++) {
            System.out.print(list.get(i)+",");
        }

    }
    private  <T> List<T> compare(T[] t1, T[] t2) {
        List<T> list1 = Arrays.asList(t1);
        List<T> list2 = Arrays.asList(t2);
        List<T> list3 = new ArrayList<T>();
        for (T t : t2) {
            if (!list1.contains(t)) {
                list3.add(t); //篩選t2中與t1不一樣的元素
            }
        }
        for (T t : t1) {
            if (!list2.contains(t)) {
                list3.add(t); //篩選t1中與t2不一樣的元素
            }
        }
        return list3;
    }

結果code

相關文章
相關標籤/搜索