• 爪哇国新游记之四----用于计算并集交集差集的工具类


    这个类利用了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();
            
        }
    }
  • 相关阅读:
    Curl Get请求&漏参数
    【Java基础】日期操作(返回当前日期&日期比较)
    【Java基础】生产者消费者模式
    [Groovy] 在Groovy中优雅的实现do while
    【转载】时间复杂度的度量
    [转载]Spring Cloud初探
    [Maven] 使用Maven管理多模块项目
    JS基础三
    JS基础部分(二)
    笔记不详细记录了,学完css之后做出下面分布的导航页
  • 原文地址:https://www.cnblogs.com/heyang78/p/3867302.html
Copyright © 2020-2023  润新知