zoukankan      html  css  js  c++  java
  • 爪哇国新游记之四----用于计算并集交集差集的工具类

    这个类利用了DArray类,还可以顺带讲述门面模式。

    import array.DArray;
    
    
    public class CollectionUtil{
        private CollectionUtil(){
            // 避免用new生成类实例,可以没有
        }
        
        // 并集
        public static int[] union(int[] arr1,int[] arr2){
            DArray d=new DArray();
            
            // 找出在arr2中有而arr1中没有的,放到动态数组中
            for(int i=0;i<arr2.length;i++){
                if(exist(arr2[i],arr1)==false){
                    d.add(arr2[i]);
                }
            }
            
            // 把arr1中的加进来
            for(int i=0;i<arr1.length;i++){
                d.add(arr1[i]);
            }
            
            return d.getArray();
        }
        
        // 判断一个数在一个数组中是否存在
        private static boolean exist(int num,int[] arr){
            for(int i=0;i<arr.length;i++){
                if(num==arr[i]){
                    return true;
                }
            }
            
            return false;
        }
        
        // 交集
        public static int[] intersact(int[] arr1,int[] arr2){
            DArray d=new DArray();
            
            // 找出在arr2中有而arr1中也有的,放到动态数组中
            for(int i=0;i<arr2.length;i++){
                if(exist(arr2[i],arr1)==true){
                    d.add(arr2[i]);
                }
            }
            
            return d.getArray();
        }
        
        // 差集
        public static int[] minus(int[] arr1,int[] arr2){
            DArray d=new DArray();
            
            // 找出在arr1中有而arr2中没有的,放到动态数组中
            for(int i=0;i<arr2.length;i++){
                if(exist(arr2[i],arr1)==false){
                    d.add(arr2[i]);
                }
            }
            
            return d.getArray();
        }
        
        public static void main(String[] args){
            int[] arr1={2,3,5,7,9};
            int[] arr2={4,5,7,8};
            
            int[] arrUnion=CollectionUtil.union(arr1, arr2);
            System.out.print("arrUnion:");
            for(int i=0;i<arrUnion.length;i++){
                System.out.print(arrUnion[i]+",");
            }
            System.out.println();
            
        }
    }
  • 相关阅读:
    pxe基于虚拟机的自启动
    time & datetime
    python文件读写操作
    lambda与常用内置函数
    python基础
    python day2:python 初识(二)
    mysql select
    python day1:初识Python(一)
    linux命令总结
    lvs/dr配置
  • 原文地址:https://www.cnblogs.com/heyang78/p/3867302.html
Copyright © 2011-2022 走看看