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

    结果

  • 相关阅读:
    C语言使用正则表达式
    linux 有名管道(FIFO)
    sendto() 向广播地址发包返回errno 13, Permission denied错误
    NSUserDefaults(数据存储)
    iOS开发UI篇—UIScrollView控件实现图片缩放功能
    李洪强iOS开发之-环信02_iOS SDK 介绍及导入
    李洪强iOS开发之-环信01_iOS SDK 前的准备工作
    iOS开发UI篇—UIScrollView控件介绍
    iOS开发UI篇—iOS开发中三种简单的动画设置
    iOS开发UI篇—IOS开发中Xcode的一些使用技巧
  • 原文地址:https://www.cnblogs.com/heyesp/p/10717575.html
Copyright © 2011-2022 走看看