zoukankan      html  css  js  c++  java
  • 获取两个列表中不同的数据

    package top.dj;
    
    import java.util.*;
    
    /**
     * @Author: DengJia
     * @Date: 2021/9/24 15:07
     * @Description: 获取两个列表中不同的数据
     */
    
    public class Test {
        public static void main(String[] args) {
            String[] a = {null, "21", "0", "39.42", "1013.34", "39.42", "3", "4.61", "14", "56", "56", "3", "9.22", "337.78", "0", "4", "18", "38", "7", "7", "9", "8", "19", "50", "16", "2", "3.6", "1.36", "75", "4", "26", "9.22", "3", "39.42", "337.78", "26", "50", "7", "7", "56", "9", "4", "56", "19", "18", "38", "7", "56", "19", "18", "56", "38", "7", "9", "4", "56", "1", "9.6", "10", "236.52", "6.57", "80.99", "2.7", "0", "0", "0", "7", "5", "21", "2.7", "80.99", "7", "0", "0", "0", "5", "21", "35.26", "3", "337.78", "9.22", "2.7", "80.99", "50", "0", "0", "0", "7", "5", "21", "80.99", "2.7", "10", "2.7", "0", "0", "0", "7", "5", "21", "2.7", "80.99", "2.7", "10", "0", "0", "0", "7", "5", "21", "2.7", "10", "2.7", "80.99", "0", "0", "7", "0", "21", "5", "2.7", "80.99", "2.7", "10", "26", "7", "0", "0", "0", "40.49", "2.7", "40.49", "10", "2.7", "2.7", "21", "13", "4", "0", "0", "7", "0"};
            String[] b = {null, "21", "0", "39.42", "1013.34", "39.42", "4.61", "3", "14", "56", "56", "9.22", "3", "337.78", "4", "0", "8", "19", "18", "7", "9", "38", "7", "50", "3.6", "1.36", "16", "2", "75", "4", "26", "3", "39.42", "9.22", "337.78", "7", "9", "56", "38", "7", "56", "4", "19", "18", "26", "50", "56", "7", "19", "18", "9", "56", "38", "7", "4", "56", "1", "9.6", "10", "236.52", "6.57", "2.7", "80.99", "0", "0", "7", "0", "21", "5", "80.99", "2.7", "0", "0", "0", "7", "5", "21", "35.26", "3", "9.22", "337.78", "80.99", "2.7", "50", "0", "0", "0", "7", "5", "21", "2.7", "2.7", "80.99", "10", "0", "0", "7", "0", "21", "5", "10", "2.7", "2.7", "80.99", "0", "0", "0", "7", "5", "21", "2.7", "2.7", "80.99", "10", "7", "0", "0", "0", "21", "5", "10", "2.7", "2.7", "80.99", "26", "0", "0", "0", "7", "2.7", "40.5", "2.7", "40.5", "10", "2.7", "21", "4", "13", "7", "0", "0", "0"};
    
            List<String> la = Arrays.asList(a);
            List<String> lb = Arrays.asList(b);
    
            System.out.println("disjoint = " + Collections.disjoint(la, lb));
            System.out.println("different = " + getDifferent(la, lb) + getDifferent(lb, la));
        }
    
    
        public static List<String> getDifferent(List<String> l1, List<String> l2) {
            Map<String, Integer> map = new HashMap<>(l1.size(), l2.size());
            List<String> diff = new ArrayList<>();
            List<String> maxList = l1;
            List<String> minList = l2;
            if (l2.size() > l1.size()) {
                maxList = l2;
                minList = l1;
            }
    
            for (String string : maxList) {
                map.put(string, 1);
            }
    
            for (String string : minList) {
                Integer cc = map.get(string);
                if (cc != null) {
                    map.put(string, ++cc);
                    continue;
                }
                map.put(string, 1);
            }
    
            for (Map.Entry<String, Integer> entry : map.entrySet()) {
                if (entry.getValue() == 1) {
                    diff.add(entry.getKey());
                }
            }
            return diff;
        }
    }
    
    

    参考:
    https://www.javaroad.cn/articles/3074
    https://www.cnblogs.com/userzf/p/13830962.html

    DJOSIMON
  • 相关阅读:
    Lua Coroutine详解
    Lua IO库详解
    vue 组件基本使用
    js 发送异步请求
    小程序保存图片到相册
    js 学习四 对象应用 吃货游戏
    js 学习三 Array
    js 学习二 字符串常用方法
    js 学习一 猜数字游戏
    phpmyadmin导入大容量.sql文件
  • 原文地址:https://www.cnblogs.com/DJOSIMON/p/15331314.html
Copyright © 2011-2022 走看看