Returns true if the two sets contain the same elements. only for sets and dictionaries. Does not work for Lists or Arrays. - CSharp System.Collections.Generic

CSharp examples for System.Collections.Generic:IDictionary

Description

Returns true if the two sets contain the same elements. only for sets and dictionaries. Does not work for Lists or Arrays.

Demo Code

/*//w ww .ja  v  a2 s .  com
 * ====================
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 * 
 * Copyright 2008-2009 Sun Microsystems, Inc. All rights reserved.     
 * 
 * The contents of this file are subject to the terms of the Common Development 
 * and Distribution License("CDDL") (the "License").  You may not use this file 
 * except in compliance with the License.
 * 
 * You can obtain a copy of the License at 
 * http://opensource.org/licenses/cddl1.php
 * See the License for the specific language governing permissions and limitations 
 * under the License. 
 * 
 * When distributing the Covered Code, include this CDDL Header Notice in each file
 * and include the License file at http://opensource.org/licenses/cddl1.php.
 * If applicable, add the following below this CDDL Header, with the fields 
 * enclosed by brackets [] replaced by your own identifying information: 
 * "Portions Copyrighted [year] [name of copyright owner]"
 * ====================
 */
using System.Text;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.CompilerServices;
using System;

public class Main{
        /// <summary>
        /// Returns true if the two sets contain the same elements. This is only for
        /// sets and dictionaries. Does not work for Lists or Arrays.
        /// </summary>
        /// <param name="collection1">The first collection</param>
        /// <param name="collection2">The second collection</param>
        /// <returns></returns>
        public static bool SetsEqual<T>(ICollection<T> collection1,
                                        ICollection<T> collection2)
        {
            if (collection1 == null || collection1 == null)
            {
                return collection1 == null && collection1 == null;
            }
            if (collection1.Count != collection2.Count)
            {
                return false;
            }
            foreach (T val1 in collection1)
            {
                if (!collection2.Contains(val1))
                {
                    return false;
                }
            }
            return true;
        }
}

Related Tutorials