zoukankan      html  css  js  c++  java
  • 筛选两个数组中不同的元素

    在页面中有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;
        }

    例子

    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;
        }

    结果

  • 相关阅读:
    OI 知识总览 算法篇 之 动态规划
    LeetCode 16.3Sum Closest
    LeetCode 1.Two sum
    leetCode 15. 3Sum
    leetCode 54. Spiral Matrix
    mybatis(视频)
    mybatis
    spring笔记
    Spring(一)
    Spring(二)
  • 原文地址:https://www.cnblogs.com/heyesp/p/10717575.html
Copyright © 2011-2022 走看看